Google Maps Benutzerstandort
-
27-09-2019 - |
Frage
Ich will eine Art und Weise eingerichtet, in dem Benutzer eine Markierung auf der Karte platzieren können ihre Adresse zu sagen, und ich sollte den lat und lange extrahieren können, und speichern sie in der Datenbank.
Gibt es somekinda Plugin, das kann ich ändern und die Verwendung?
Lösung
Zuerst eine Funktion erstellen, dass ein ein latlng Objekt akzeptiert. Diese Funktion wird die Info zur Datenbank hinzufügen und dann den Marker hinzufügen, wenn es erfolgreich ist.
function addRestaurant( latlng ) {
lat = latlng.lat;
lng = latlng.lng;
//Code to add restaurant
if ( dbase_successful ) {
var marker = new google.maps.Marker({
position: latlng,
title: "Some text"
map: map //make your map global
});
}
}
Dann ein Ereignis-Listener auf dem Click-Ereignis der Karte hinzufügen, die die Funktion aufruft, die Sie gerade erstellt. Fügen Sie diese auf Ihre Karte initialize-Code.
google.maps.event.addListener(map, 'click', function(event) { addRestaurant( event.latlng ) } );
Nun, wenn Sie Ihre Karte geklickt add_restaurant wird mit der latlng des Click-Ereignis auf der Karte aufgerufen werden.
Andere Tipps
Vielleicht ist es das, was Sie suchen:
Im mit Javascript für diese.
Hier setzen Sie einen Marker von der Adresse.
var address= "denmark Århus";
geocoder.getLatLng(
address,
function(point) {
if (!point) {
alert(address + " not found");
} else {
map.setCenter(point, 14);
map.addOverlay(new GMarker(point, markerOptions));
}
}
);