ich die neueste Google Map API v3 verwenden und versuchen, die Folgendes zu erreichen:Google Map API Dateifeld mit Platz-Id
-Center-Benutzer auf der Karte beim Laden der Seite auf einem mobilen Gerät. Ich habe das in dem Code unten funktioniert.
Die Benutzer können einen POI aus der Karte anklicken/berühren und das Infofenster anzeigen. Dies funktioniert auch, da es eine grundlegende Funktion von Google Maps ist.
Dies ist, wo ich ratlos bin. Ich muss 2 Felder mit dem Namen des POI aus dem Info-Fenster im 1. Feld und dem 2. Feld der Place-ID füllen können.
Hier ist, was ich bisher gefunden habe: https://developers.google.com/maps/documentation/javascript/examples/places-placeid-finder
Dieser Link ermöglicht die Suche von Orten und die Markierung, die ein Info-Fenster mit der Place-ID des gesuchten Ort produziert gefüllt wird. Wenn Sie jedoch auf einen der POIs außerhalb des Markers klicken, gibt es keine Place_IDs.
Die andere schließt Lösung: Get placeId on google maps when POI is clicked
Diese Lösung ermöglicht es Ihnen, den Platz-ID klicken und sehen, aber es gibt zwei Hauptprobleme. 1. Derselbe POI aus dem ersten Link oben erzeugt eine andere Orts-ID als diese Lösung für den exakt gleichen Ort. Zusätzlich erzeugt es eine Orts-ID für jeden Punkt auf der Karte, unabhängig davon, ob sich ein POI in der Nähe befindet.
Hier ist mein Code so weit:
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 17,
streetViewControl: false,
mapTypeControl: false
});
var infoWindow = new google.maps.InfoWindow({map: map});
// Try HTML5 geolocation.
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
infoWindow.setPosition(pos);
infoWindow.setContent('Location found.');
map.setCenter(pos);
}, function() {
handleLocationError(true, infoWindow, map.getCenter());
});
} else {
// Browser doesn't support Geolocation
handleLocationError(false, infoWindow, map.getCenter());
}
}
function handleLocationError(browserHasGeolocation, infoWindow, pos) {
infoWindow.setPosition(pos);
infoWindow.setContent(browserHasGeolocation ?
'Error: The Geolocation service failed.' :
'Error: Your browser doesn\'t support geolocation.');
}
Ich würde kein Licht sehr schätzen, die auf, warum die vergossen werden könnten Platz-IDs ist immer unterschiedlich zwischen diesen Methoden und möglichen Lösungen auf immer die wahren Platz-ID aus ein Klickereignis Vielen Dank!
Das es genau was ich brauchte! Vielen Dank. Ich fügte die 4 Felder hinzu, die ich füllen muss, und es funktioniert. https://jsbin.com/nuxadi/edit?html,output Alles, was ich jetzt tun muss, ist die Anweisungen zwischen 2 POI-Funktion zu entfernen. –