2012-02-15 8 views
10

ユーザーが地図を調整する際に、GoogleマップAPI設定のズームと位置をクッキーに保存します。彼らが戻ってくるとき、地図は同じ場所にあります。関数は、ほとんどの時間の作品:デコード側ではGoogle Maps API関数map.getCenter()

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日働いてから、Googleが送信したものがQaに戻った。私はそれを元に戻しました。

Time goes by。今ではコードが断続的に動作するようになり、2番目の変数に "Pa"の代わりにそのデバッグの事を戻しました。 "Ra"になっています。継続的ではないが主に。どうしたの。 2つの異なるブラウザで同じように起こっています。

+0

ウェブを見ると、次の回答が見つかりました: > GfがVfに変わり、MaがPaに変わり、NaがQaに変わった Googleでは、Maps API JavaScriptをコンパイラ/オプティマイザ(Closure Compiler [1]など)を使って実行します。外部使用を目的としていません。したがって、これらの名前は、新しいビルドでは完全にオプティマイザの気まぐれに変わるかもしれません。 –

答えて

19

使用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