Google Maps API函数map.getCenter()

时间:2012-02-15 02:22:04

标签: javascript maps

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

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

在解码端使用:

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

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

   Qa;
   Pa;

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

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

1 个答案:

答案 0 :(得分:23)

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

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

并将其读作

var temp = jQuery.cookies.get("YD44635center").split(',');

Google正在不时更改内部变量的名称 Error on Latitude and Longitude - Google Maps API JS 3.0