Ich habe mehrere V2-Beispiele gefunden, wie die Karte geschwenkt werden kann, während ein Marker gezogen wird. Zum Beispiel: http://www.putyourlightson.net/projects/coordinatesWie kann ich in Google Maps V3 einen ziehbaren Marker zum Verschieben der Karte erhalten?
// 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 erscheint „Auto Pan“, während die Markierung gezogen wird; Beachten Sie, dass der einzige Ereignis-Listener für "dragend" ist. Aber ich versichere Ihnen, dass diese Karte schwenkt, während der Marker gezogen wird.
Ich versuche das gleiche mit der V3 API zu erreichen, ohne Erfolg. Ich habe sogar versucht map.panTo() aufrufen, 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());
});
}
Es macht Sinn für mich, dass dies nicht funktionieren würde, da Schwenken Sie die Markierung in der Mitte platzieren von Die Karte, während sich die Karte bewegt, ist falsch.
Ist es so einfach wie die V2-API, die dies automatisch ausführt, während die V3-API dies nicht tut? Wie kann ich diesen Effekt mit der V3 API erreichen?
Danke.
Ich habe graben, und es scheint, dass diese Funktion in der V2 -> V3-Übergang entfernt wurde. Ich kann kein offizielles Wort finden, aber das scheint geschehen zu sein. Bumm. –
FYI - http://code.google.com/p/gmaps-api-issues/issues/detail?id=2404 –