Google Maps JavaScript APIのGeocoderクラスに問題があり、componentRestrictions
を使用すると結果が返されます。Google Maps JS API Geocoderクラスで正しくない結果
つまり、ユーザーが住所を入力してその住所を特定の地域で見つけることを許可しようとしています。
私はジオコードオブジェクトリテラルにアドレスとして文字列を渡します。
次に、locality
プロパティをcomponentRestrictions
にして検索を「ニューヨーク」都市に制限します。
は、だから私のコードは次のようになります。
geocoder.geocode(
{address: address,
componentRestrictions: {
locality: 'New York'
}
}, function(results, status) {
console.log(results);
}
);
、など'E 64th St & 5th Ave'
を特定のアドレスを渡し、それはセントラルパーク動物園の場所の正しい結果を返します。
しかし、私が住所のためにもっと曖昧なもの、例えば'East Village'
を使用すると、ニューヨーク市役所の場所の結果が返されます。
componentRestrictions
プロパティを削除し、同じアドレスを'East Village'
として渡すと、East Villageの正しい場所が返されます。
Googleの開発者が教えてくれたcourse through Udacityで提供されているコードを使用しています。そのコードはhere on GitHubです。
コードを提供するのとまったく同じコードを実行すると、自分のコードと同じ問題が発生します。
しかし、コースビデオでは正しく動作します。
このコースを作成してから一部のAPIが変更された可能性がありますので、componentRestrictionsを間違って使用している可能性があります。
誰もこのような問題を経験して解決策を見つけましたか?
コードを間違って使用していますか?
ありがとうございました!
ありがとうございます。@ xomena、これは間違いなく問題です。ありがとう! –