他使用谷歌地圖API搜索我能找到一個特定的地方,然後存儲它的細節。但是,該數組不包含可在Google地圖上打開此地點的Google地圖鏈接。從place_id獲取谷歌地圖鏈接
通過API我收到place_id,根據我的感覺,它應該足以構建完整的Google地圖鏈接;但是,我無法找到一種方法來做到這一點。任何人都可以告訴我如何做到這一點。
謝謝你的時間。
他使用谷歌地圖API搜索我能找到一個特定的地方,然後存儲它的細節。但是,該數組不包含可在Google地圖上打開此地點的Google地圖鏈接。從place_id獲取谷歌地圖鏈接
通過API我收到place_id,根據我的感覺,它應該足以構建完整的Google地圖鏈接;但是,我無法找到一種方法來做到這一點。任何人都可以告訴我如何做到這一點。
謝謝你的時間。
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>
有一種方法可以始終獲取正確的URL,但它確實需要額外的請求。
您可以使用place_id與 https://maps.googleapis.com/maps/api/place/details/json?key=YOURAPIKEY&placeid=THEPLACEID
從響應得到地點的詳細信息有一個[「結果」] [「網址」]字段總是打開了正確的地方。 例如。 https://maps.google.com/?cid=10254754059248426663
您可以使用谷歌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
試試上面的語法。我希望它有幫助
簡單,沒有額外的請求到服務器。 –
我在我正在構建的Android應用程序中遇到同樣的問題。如果下面的答案是正確的,那麼必須使用返回的place_id創建另一個URL請求才能獲得正確的CID似乎很荒謬 –