web-dev-qa-db-ja.com

place_idからのGoogleマップリンクの取得

HeIIo、検索でgoogle map APIを使用して、特定の場所を見つけて詳細を保存できます。ただし、配列には、Googleマップでこの場所を開くGoogleマップのリンクが含まれていません。

APIを介して、place_idを受け取ります。これは、Googleマップの完全なリンクを作成するのに十分だと思います。しかし、私はそれを行う方法を見つけることができません。誰でもそれを行う方法について私に助言できますか?.

お時間をいただきありがとうございます。

24
A L

以下の構文を試してください。それが役に立てば幸い

https://www.google.com/maps/place/?q=place_id:ChIJp4JiUCNP0xQR1JaSjpW_Hms
71
Sedat Kumcu

placeIdが存在しない場合にaddressにフォールバックしてplaceIdを検索するための公式URLは次のとおりです

https://www.google.com/maps/search/?api=1&query=<address>&query_place_id=<placeId>

トークンは不要で、Android、iOS(およびiOS 11)とWebで機能します

17
Kirill Kulakov

常に正しいURLを取得する方法はありますが、追加のリクエストが必要です。

Place_idを使用すると、https://maps.googleapis.com/maps/api/place/details/json?key=YOURAPIKEY&placeid=THEPLACEIDで場所の詳細を取得できます

それからの応答には、常に正しい場所を開く['result'] ['url']フィールドがあります。例えば。 https://maps.google.com/?cid=10254754059248426663

6
Bartek Juszczak

https://www.google.com/maps/place には予想されるパラメータのドキュメントがないため、これは回避策にすぎない可能性があります(少なくとも現在のところ私にとっては有効です)。

次のURL形式は、ほとんどの場合に望ましい結果をもたらすようです。

https://www.google.com/maps/place/[place-name]/@[latitude],[longitude],[zoom]z/

場所の名前と場所のジオメトリに基づいてこのURLを作成できます

function initialize() {
  var ac = new google.maps.places.Autocomplete(document.getElementById('pac'));
  google.maps.event.addListener(ac, 'place_changed', function() {
    var place = this.getPlace(),
      link = document.getElementById('link');
    if (!place.geometry) {
      link.textContent = '';
    } else {
      var zoom = 17,
        url = 'https://www.google.com/maps/place/' +
        encodeURIComponent(place.name) + '/@' +
        place.geometry.location.toUrlValue() + ',' +
        zoom + 'z/';
      link.href = link.textContent = url;

    }

  });
}
google.maps.event.addDomListener(window, 'load', initialize);
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3&libraries=places">
</script>
<input id="pac" />
<br/>
<a id="link"  href="" target="_blank"></a>
6
Dr.Molle

Google embed APIを使用して、srcをリンクとして取得できます。例:

 https://www.google.com/maps/embed/v1/place?key=YOUR_API_KEY
  &q=place_id:YOUR_PLACE_ID

ドキュメント: https://developers.google.com/maps/documentation/embed/guide#place_mode

0
TomoMiha