2012-01-10 13 views

答えて

6

編集:@hamczuが示唆するようにあなたは、あなたがこのような結果を得るべきである、Google Maps Geocoding Serviceを使用している場合:

{ 
... snip ... 
geometry: { 
    location: LatLng, 
    ... snip ... 
} 
} 

あなたがのためのAPIメソッドを使用していないようですねLatLngオブジェクトですが、文書化されていないプロパティを使用しようとしています。あなたの質問は、これが悪い考えである最善の理由の1つを示しています。短く任意の変数名とプロパティ名を使用してGoogleコードが圧縮され、難読化されています。それはではありません変更は、published APIの関数と属性の名前です。これは、まずはAPIを持っていることの全ポイントです。また、開発者が現在の「文書化されていない機能」ではなく、利用可能なコード。

ので、最善のアプローチは、documented methodsを使用することです:

var lat = result.geometry.location.lat(); 
var lng = result.geometry.location.lng(); 

そうでない場合は、あなたのコードは、おそらくGoogleはそのコードを再圧縮するたびに中断します。

+0

彼はJSON出力のWebサービスではなく[Google Maps JavaScript API](http://code.google.com/apis/maps/documentation/javascript/geocoding.html)を使用しています。 – hamczu

+0

ああ、そうだ。彼のAPIメソッドを使用するのではなく、 'LatLng'オブジェクトを調べているので、このポイントはまだ保持されています。私は更新します。 – nrabinowitz

+0

おそらく、彼はこのJSONのようなオブジェクトをJSONを使っていくつかのAPIに渡します。私は私のプロジェクトの1つで同様のことをしました - 私はGoogle Maps JS APIを通してこのオブジェクトを受け取りました。そして、私はこのオブジェクトを私のサーバーにJSON形式で渡します。私は手動でこのbizzareプロパティ名でlatとlngを取得します。 – hamczu

関連する問題