您好,使用谷歌地图API和搜索功能,我可以找到特定位置并存储其详细信息。然而,该数组不包含谷歌地图链接,该链接可以在谷歌地图上打开该位置。
通过API,我收到了place_id,作为我所感觉的,应该足以构建完整的谷歌地图链接;然而,我找不到实现此目的的方法。请问有人能够指导我如何做到这一点吗?
感谢您抽出时间阅读。
您好,使用谷歌地图API和搜索功能,我可以找到特定位置并存储其详细信息。然而,该数组不包含谷歌地图链接,该链接可以在谷歌地图上打开该位置。
通过API,我收到了place_id,作为我所感觉的,应该足以构建完整的谷歌地图链接;然而,我找不到实现此目的的方法。请问有人能够指导我如何做到这一点吗?
感谢您抽出时间阅读。
请尝试以下语法。希望它能够帮助您。
https://www.google.com/maps/place/?q=place_id:ChIJp4JiUCNP0xQR1JaSjpW_Hms
以下是一条官方的 URL,可用于搜索 placeId
。如果 placeId
不存在,则会回退到搜索 address
。
https://www.google.com/maps/search/?api=1&query=<address>&query_place_id=<placeId>
无需令牌,适用于 Android、iOS(包括 iOS 11)和 Web。
Mixed Content: The page at 'https://www.google.com/maps/search/?api=1&query=%3Caddress%3E&query_place_id=ChIJoT5E1FlgLxMR1qP3Z4NRVBY' was loaded over HTTPS, but requested an insecure image 'http://www.google.com/maps/vt/data=zYuhVnS8JosXRxoH3bbPoEAByijPZHC_yNruvFpujaxqT6-OKmrS1cV2ft0f8dQNh7_HX2epahFbnLuLDgS39EdmrW_ZHt-eAfKRxDSXoaOf3BHtn5RaLfE26v_G06ja4OLDXnSi_nubeVjJPp0'. This content should also be served over HTTPS.
- coccoinomane有一种方法可以始终获取正确的URL,但需要进行额外的请求。
您可以使用place_id通过以下链接获取场所详情:https://maps.googleapis.com/maps/api/place/details/json?key=YOURAPIKEY&placeid=THEPLACEID
响应中包含一个 ['result'] ['url'] 字段,它总是打开正确的地点。
例如:https://maps.google.com/?cid=10254754059248426663
在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>
https://www.google.com/maps/embed/v1/place?key=YOUR_API_KEY
&q=place_id:YOUR_PLACE_ID
Docs: https://developers.google.com/maps/documentation/embed/guide#place_mode
我曾经遇到过一个问题,即iOS应用程序将用户重定向到从nearbysearch
API返回的所需位置在谷歌地图中。
他们上面提到:
https://www.google.com/maps/place/?q=place_id:ChIJp4JiUCNP0xQR1JaSjpW_Hms
location
和place_id
以显示一个地点。let url = "https://www.google.com/maps/search/?api=1&query=\(placeLatitude)%2C\(placeLongitude)&query_place_id=\(placeId)"
没有place_id适用于我的情况
https://www.google.com/maps/search/<search term>/@<coordinates>,<zoom level>z
例子
https://www.google.com/maps/search/Jouvay+Night+Club/@40.6961111,-73.8041667,15z