2010-12-30 14 views
0

Ich versuche eine einfache Webanwendung zu schreiben, in der Menschen die Möglichkeit haben, einen Marker in Google Maps zu platzieren (wo auch immer sie wollen) und eine kurze Textnachricht zu schreiben auf der Karte, aber ein einfaches Textfeld in einem Formular). Ich werde dann lan/lon Werte und die Textnachricht in eine Datenbank speichern, aber ich weiß nicht, wie man einen Marker setzt und seine lan/lon Werte erhält. Ich würde gerne jQuery mit einem Marker setzen und dann seine Koordinaten bekommen.Marker platzieren und Lon/Lat - Werte in Google Maps eingeben

Ich sah ein paar Beispiele dafür, aber ich konnte den JavaScript-Teil nicht schreiben. Gibt es ein jQuery-Plugin, das das tut oder ist es möglich, dies mit jQuery zu schreiben?

Danke.

EDIT: Ich habe die Suche vor dem Schreiben dieser Frage verwendet, konnte aber die Antwort auf StackOverflow nicht finden. Nach dem Absenden der Frage habe ich eine Suche bei Google durchgeführt und ich habe diese How do you click on a map and have latitude and longitude fields in a form populated? gefunden. Ich denke, das ist die genaue Antwort auf das, wonach ich gesucht habe.

+0

Ich glaube, ich habe gerade die Antwort für meine eigene Frage gefunden unter http://stackoverflow.com/questions/1726049/how-do-you-click-on-a-map-and-have-latitude-and-longitude -Felder in einer Form Popula. –

Antwort

1

Ich wickelte die Google Maps v3 API (nicht, dass es viel Verpackung benötigt) in ein jquery-Plugin. Hier ist ein Beitrag, wie/Nutzung zum Download:

http://blog.bobcravens.com/2010/06/a-google-maps-version-3-jquery-plugin/

Hier ist eine Demo-Seite:

http://bobcravens.com/demos/GoogleMaps3/

Hoffnung, das hilft. Lass es mich wissen, falls du fragen hast.

Bob

+0

Danke @rcravens, aber es scheint, als ob ich die Antwort auf einen anderen StackOverflow-Beitrag gefunden habe: http://stackoverflow.com/questions/1726049/how-do-you-click-on-a-map-and-have-latitude- und Längengrad-Felder-in-einem-Form-Popula. Aber es scheint, als ob dein Demo auch funktioniert. Vielen Dank... –

2

Nun, ich weiß nicht, ob es ein jQuery-Plugin ist, dass für Sie zu tun, aber Google Maps API ist gut dokumentiert: http://code.google.com/intl/en/apis/maps/documentation/javascript/basics.html

Wenn Sie eine Markierung auf einer Karte hinzufügen möchten, wenn ein Benutzer klicken sie darauf einen Hörer verwenden:

google.maps.event.addListener(map, 'click', function(event) { 
       marker = new google.maps.Marker({ 
         position: event.latLng, 
         map: map, 
         draggable: true, 
         title: title 
         }); 
       marker.setMap(map); 
      }); 

hier die Koordinaten durch eine Eigenschaft des Ereignisses zur Verfügung stehen (in dem der Benutzer auf der Karte klicken haben), kommt dieser aus dem Ereignis selbst

click(overlay:GOverlay, latlng:GLatLng, overlaylatlng:GLatLng) 

und diese latlng ist ein Objekt vom Typ GLatLng http://code.google.com/intl/en/apis/maps/documentation/javascript/v2/reference.html#GLatLng

und die GLatLng Klasse hat Methoden, um die lat und lange tatsächlichen Werte zu erhalten.

var LAT = event.latLng.lat(); 
var LNG = event.latLng.lng(); 

All dies kann zu Beginn ein wenig überwältigend aussehen, aber es ist nur eine Sache von der Art des Objekts, Ereignisse zu wissen, Methoden und Eigenschaften, die für die jeweils zur Verfügung stehen.

Wenn Sie ein Grundwissen über JavaScript haben, sollten Sie es gut machen und es ist wirklich nicht nötig, es mit einem Plugin zu tun, genau wie @rcravens es als nicht viel Umbruch bezeichnet.