In Google Maps V3, wie bekomme ich ein draggable marker, um den Kartenausschnitt?

Habe ich gefunden, mehrere V2-Beispiele, wie Sie schwenken Sie die Karte, während ein marker gezogen wird. Zum Beispiel: http://www.putyourlightson.net/projects/coordinates

    //create map and add controls
var map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());        
map.addControl(new GMapTypeControl());

//set centre point of map
var centrePoint = new GLatLng('53.34870686020199', '-6.267356872558594');
map.setCenter(centrePoint, 14); 

//add a draggable marker
var marker = new GMarker(centrePoint, {draggable: true});
map.addOverlay(marker);

//add a drag listener to the map
GEvent.addListener(marker, "dragend", function() {
    var point = marker.getPoint();
    map.panTo(point);
    document.getElementById("latitude").value = point.lat();
    document.getElementById("longitude").value = point.lng();
});

Diese Seite scheint zu "auto-pan", während die Markierung gezogen wird; Hinweis, dass seine einzige Ereignis-listener für "dragend". Aber ich versichere Ihnen, dass, dass die Karte, Pfannen, während die marker gezogen wird.

Ich versuche, das gleiche zu erreichen mit der V3 API, ohne Erfolg. Ich habe sogar versucht, den Aufruf anzeigen.panTo (), während das Symbol gezogen wird, mit unbefriedigenden Ergebnissen: http://www.publicgloucester.com/test.html

function initialize ()
   {
   Gloucester = new google.maps.LatLng (42.6159285, -70.6619888);

   myOptions = 
      {
      zoom: 14,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      center: Gloucester,
      streetViewControl: false
      }

   map = new google.maps.Map (document.getElementById ("map_canvas"), myOptions);

   marker = new google.maps.Marker ({position: Gloucester, title: "Gloucester, MA"});
   marker.setMap (map);
   marker.setDraggable (true);

   google.maps.event.addListener (marker, 'drag', function (event) 
      {
      //Pan to this position (doesn't work!)
      map.panTo (marker.getPosition());
      });

   }

Macht es Sinn für mich, dass dies nicht funktionieren würde, da das panning zu platzieren Sie den marker in der Mitte der Karte, während die Karte bewegt, ist falsch.

Ist es so einfach wie die V2 API tun dies automatisch, während die V3-API nicht? Wie kann ich erreichen diesen Effekt mit der V3-API?

Dank.

InformationsquelleAutor der Frage Martin Del Vecchio | 2010-07-23

Schreibe einen Kommentar