Google Maps API函数map.getCenter()

Bob*_*ius 10 javascript maps

当用户调整地图时,我将保存Cookie中的Google地图API设置的缩放和位置.当他们回来时,地图就在同一个地方.该功能大部分时间都有效:

   var h = JSON.stringify(map.getCenter(), null, 2);
   jQuery.cookies.set("YD44635center",h,cookieOptions);
Run Code Online (Sandbox Code Playgroud)

在解码端使用:

    locationVar = jQuery.cookies.get("YD44635center");
    var temp = "";
    // for testing:
    for(var x in locationVar){
        temp += x + "\n";
    }
    alert(temp);
Run Code Online (Sandbox Code Playgroud)

在大多数情况下,看到我得到的是:

   Qa;
   Pa;
Run Code Online (Sandbox Code Playgroud)

所以我设置我的代码来加载带有这些变量的地图,一切都很好.然后有一天页面停止工作,返回的参数不再像Qa那样有"Q",而是像Oa中的"O".所以我改变了代码,它工作了一天,然后Google发送的内容改回了Qa.我改回来了.

时光流逝.现在,代码开始间歇性地工作,我把调试的东西放回来,而现在而不是"Pa"在第二个变量上我得到"Ra".不是持续但主要是.这是怎么回事.它以相同的方式在两个不同的浏览器上发生.

Che*_*ery 23

使用API​​函数并保存所需的数据,而不是结构

var c = map.getCenter();
jQuery.cookies.set("YD44635center", c.lat() + ',' 
                                  + c.lng() + ',' + map.getZoom(), 
                                                     cookieOptions);
Run Code Online (Sandbox Code Playgroud)

并将其读作

var temp = jQuery.cookies.get("YD44635center").split(',');
Run Code Online (Sandbox Code Playgroud)

谷歌正在不时更改内部变量的名称 经纬度和经度错误 - Google Maps API JS 3.0