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?

War es hilfreich?

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));
                      }
                    }
                  ); 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top