Googleマップのオートコンプリートはほとんどすべてのケースで機能していますが、1つの住所では奇妙な動作をします。Googleマップのオートコンプリートプロンプトと返された場所が一致しない
JSFiddle @geocodezipのおかげで、問題が示されました。
これはthis issueに似ていますが、問題が返されなかった点を除きます。同じ名前の場所が返されますが、別の場所にあります。
正しいアドレスが提案ボックスに表示されますが、place_changed
イベントでは異なります。 2つのアドレスは、互いに大きな距離に配置されています。図から分かるように
、これはオートコンプリートのデモに再現性があるので、私はそれは実装の問題だとは思いません。誰もこの種の行動を見て、それを修正することができましたか?
さらに、元のオートコンプリート提案によって返されたアドレスのAutocompleteService
によってクエリ予測を要求すると、ZERO_RESULTS
が返されます。
new google.maps.places.AutocompleteService();
service.getQueryPredictions({ input: '77 Main Road, Crowthorne AH, Sandton, South Africa' }, function(predictions, status) {
if (status != google.maps.places.PlacesServiceStatus.OK) {
alert(status);
return;
}
predictions.forEach(function(prediction) {
console.log(prediction);
});
});
RE:なぜこのコードは動作していないのですか。私が使用しているコードは、この特定のアドレスセットに対しては動作していないGoogle独自の例と同じです。 –
[結果を得るために必要な住所の部分に問題を示すフィドル]](https://jsfiddle.net/geocodezip/yr8z1zdr/)(および結果のplace_idの詳細要求)。 Places APIに関する明確な問題のように見えます。 – geocodezip
回避策はありますか? 'place_changed'イベントが発生すると、入力ボックスからオートコンプリートごとに正しいアドレスを取得して間違ったアドレスに更新することができますが、明らかに、場所のコンポーネントに分解されないフォーマットされたStringです。 –