50

アプリケーションがあり、Google Javascript Geocoding API を使用して住所の緯度/経度を取得しています。

コードは次のようになります

geocoder = new google.maps.Geocoder()
geocoder.geocode({ 'address': query }, function(results, status) {
    addresses = {};
    $.each(results, function(index, value){
        addresses[index] = {"lat":value.geometry.location.$a,"lng":value.geometry.location.ab}
    })
});

すべてうまくいきますが、場所オブジェクトのプロパティ名が定期的に変更されるのが問題です。それらが変わるたびに、私のサイトは壊れます。

Google の地理位置情報 API の奇妙な lat/lng プロパティ名の変更に対応するために、コードを 2 回変更する必要がありました。最初は Xa、Ya でしたが、次に Ya、Za、そして $a、ab に変更する必要がありました。これらの変更の背後にあるユーザー フレンドリーなロジックは見当たりません。

これらのプロパティ名が変更される理由、および/またはこれらのプロパティ名の変更によって引き起こされる問題を回避しながら緯度/経度を取得するために使用できる戦略を誰かが知っていますか?

4

1 に答える 1

97

文書化されたプロパティを使用してください。それらは変更されません

geometry.location はgoogle.maps.LatLngオブジェクトです。文書化されたメソッドは次のとおりです。

lat()   number  Returns the latitude in degrees.
lng()   number  Returns the longitude in degrees.
于 2012-11-21T18:13:08.940 に答える