web-dev-qa-db-ja.com

google.maps.Geocoder.geocode()geometry.location lat / lngプロパティ名は頻繁に変更されます

アプリケーションがあり、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に変更しなければなりませんでした。これらの変更の背後にあるユーザーフレンドリーなロジックは見当たりません。

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

47
tomwoods

文書化された properties を使用すると、変更されません

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

lat()   number  Returns the latitude in degrees.
lng()   number  Returns the longitude in degrees.
93
geocodezip