4

私はグーグルマップを使用して、クリックされた場所の緯度と経度を見つけています。javascriptイベントオブジェクトを文字列化した後、私は見つけました

{"latLng":{"Za":25.800813110356653,"$a":78.7055234375},"pixel":{"x":689,"y":336},"va":{"x":183.96837222222223,"y":108.99927181860028}}

つまり、Zaはlatで、$aはlngになります。

2日前ですが、私はまったく同じコードを使用し、次と同じオブジェクトを取得していました。

{"latLng":{"Ya":25.800813110356653,"Za":78.7055234375},"pixel":{"x":689,"y":336},"va":{"x":183.96837222222223,"y":108.99927181860028}}

私を悩ませているのは、彼らが一晩でオブジェクト名を変更したことです。なぜ彼らはこれを行うのですか?代わりに緯度と経度を見つける信頼できる方法はありますか?

4

3 に答える 3

12

内部名はコードの変更に伴って変更されます。別のトークンが導入された場合、最小化された変数はYa最終的に。になる可能性がありZaます。

内部参照には絶対にアクセスしないでください。常に文書化された方法を使用してください。

于 2012-04-18T15:16:41.170 に答える
5

Ok。私は部分的に答えを見つけました。

名前を気にする必要はありません。代わりに関数を使用できます。

lat = e.latLng.lat();
lon = e.latLng.lng();
于 2012-04-18T14:32:06.613 に答える
4

Googleは公開されたメソッドの名前を変更しません。ただし、更新がデプロイされるたびに、マップスクリプトファイルは難読化プロセスを実行され、コード内の使い慣れた名前が参照しようとしている短い名前になります。コードが難読化されるたびに、結果が異なる可能性があります。Andrewが上で指摘したように、新しいメソッドまたは変数が導入された場合、それは以前の難読化の順序を破棄する可能性があります。(上記のように内部メンバーにアクセスできないようにするために、このプロセスを定期的に実行することもあります)。

http://en.wikipedia.org/wiki/Obfuscation_%28software%29

于 2012-04-18T20:46:50.533 に答える