JavaScriptでGoogleMaps APIを使用して、マップ上でクリックした都市の名前(および場所)を取得しようとしています。GoogleMapsでクリックした市の名前を取得する
まず、exampleで説明したようにPointOfInterest Event
機能を使用することはできましたが、都市ではplaceId
が必須ではありません。
第二に、私は逆ジオコーディング・メカニズムを使用しようとしたが、場所の完全なアドレスを取得するためにhereを説明し、そしてここから、都市(地域)の名前を抽出します。
this.map.addListener('click', (event) => {
this.geocoder.geocode({
location: event.latLng,
}, (results, status) => {
if(status === 'OK')
{
if(results && results.length)
{
const addressResult = results[0];
if(addressResult.address_components)
{
addressResult.address_components.forEach((component) => {
if(component.types.includes('locality'))
{
console.log(component.long_name);
}
});
}
}
}
});
});
この方法は私を与えましたそれはジオコーダから返されたアドレスに表示されて、私はまだ都市の名前を取得していますen
にマップのロケールを設定するにもかかわらず
:かなり良い結果がしかし、それはまた、いくつかの問題を示しました。 は、例えば、私はジュネーブ代わりのジュネーブ(ジュネーブのフランス語の名前)を得た、私はAをクリックミュンヘン代わりの
を ミュンヘン(ミュンヘンのドイツ語名)を得ました都市をクリックした場所が別の地域に属していると、別の都市があることがあります。
クリックした都市の名前を取得するためのアドバイスは非常に高く評価されます。
ありがとうございました。@ xomena、あなたの方法は私よりも良い結果をもたらすようです!ジオコーディングを使用しない解決策が見つからない場合、私はあなたのメソッドに行くと思う:) –