HeIIo, en utilisant Google Map API avec la recherche, je suis capable de trouver un certain endroit et ensuite stocker ses détails. Cependant, le tableau ne contient pas de lien google maps qui ouvrirait cet endroit sur google maps.
Via API, je reçois place_id qui, à mon avis, devrait suffire à créer un lien Google Maps complet. Cependant, je ne peux pas trouver un moyen de le faire. Quelqu'un peut-il me conseiller sur la façon de procéder?.
Merci pour votre temps.
Essayez la syntaxe ci-dessus. J'espère que ça aide
https://www.google.com/maps/place/?q=place_id:ChIJp4JiUCNP0xQR1JaSjpW_Hms
Voici une URL officielle pour rechercher une placeId
avec un repli sur une address
si la placeId
n'existe pas
https://www.google.com/maps/search/?api=1&query=<address>&query_place_id=<placeId>
aucun jeton requis, fonctionne sur Android, iOS (ainsi que iOS 11) et Web
Il existe un moyen de toujours obtenir la bonne URL, mais cela nécessite une demande supplémentaire.
Vous pouvez utiliser le lieu_id pour obtenir les détails du lieu avec https://maps.googleapis.com/maps/api/place/details/json?key=YOURAPIKEY&placeid=THEPLACEID
La réponse de celle-ci a un champ ['result'] ['url'] qui ouvre toujours le bon endroit. par exemple. https://maps.google.com/?cid=10254754059248426663
Il n'y a pas de documentation pour les paramètres attendus sur https://www.google.com/maps/place , ce qui peut ne constituer qu'une solution de contournement (au moins, cela fonctionne actuellement pour moi).
Le format d'URL suivant semble donner le résultat souhaité dans la plupart des cas:
https://www.google.com/maps/place/[place-name]/@[latitude],[longitude],[zoom]z/
Vous pouvez créer cette URL en fonction du nom de lieu et de la géométrie du lieu.
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>
Vous pouvez utiliser l'API intégrée de Google et utiliser src comme lien: , Par exemple:
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