web-dev-qa-db-ja.com

Google Maps API関数map.getCenter()

ユーザーが地図を調整するときに、Google MapAPI設定のズームと場所をCookieに保存しています。彼らが戻ってきたとき、地図は同じ場所にあります。この関数はほとんどの場合機能します。

   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」が表示されます。それで私はコードを変更しました、そしてそれは1日働きました、そしてそれからグーグルが送っていたものはQaに戻りました。私はそれを元に戻しました。

時間が経過してる。今日、コードは断続的に機能し始め、そのデバッグ機能を元に戻しました。2番目の変数の「Pa」の代わりに「Ra」を取得しています。継続的ではありませんが、ほとんどです。調子はどう。これは、2つの異なるブラウザで同じように発生しています。

11
Bob Brunius

API関数を使用して、構造ではなく必要なデータを保存します

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

そしてそれを

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

Googleは内部変数の名前を随時変更しています 緯度と経度のエラー-Google Maps API JS 3.

25
Cheery