Un po 'di successo Ultimo (la mappa si muove ancora un po' ma può essere ignorata al momento)!
dichiarata due variabili:
var isAnyMarkerIsInDraggingState = false;// if a marker is in drag state this value will be TRUE otherwise FALSE
var mapCenterPositionAtTheTimeWhenMarkerWasDragged;// Map Center Position
Quando marcatore viene trascinato:
google.maps.event.addListener(objMarker, 'dragstart', function() {
// Store map center position when a marker is dragged
mapCenterPositionAtTheTimeWhenMarkerWasDragged = mapObject.getCenter();
isAnyMarkerIsInDraggingState = true;
});
Quando Marker viene interrotta (trascina le estremità):
google.maps.event.addListener(objMarker, 'dragend', function() {
// Make Map draggable
// Set isAnyMarkerIsInDraggingState = false. Because no marker is in drag state
mapObject.setOptions({ draggable: true });
isAnyMarkerIsInDraggingState = false;
});
.210
quando la mappa trascinamento inizia:
google.maps.event.addListener(mapObject, 'dragstart', function() {
// isAnyMarkerIsInDraggingState = true: means the user is dragging a marker.
// If the user is dragging the Marker then don't allow the Map to be Dragged
if (isAnyMarkerIsInDraggingState) {
mapObject.setOptions({ draggable: false });
}
});
Quando Map è in stato di trascinamento:
google.maps.event.addListener(mapObject, 'drag', function() {
// isAnyMarkerIsInDraggingState = true: means the user is dragging a marker.
// If the user is dragging the Marker then don't allow the Map to be Dragged and set its CenterPosition
// to mapCenterPositionAtTheTimeWhenMarkerWasDragged
if (isAnyMarkerIsInDraggingState) {
mapObject.setCenter(mapCenterPositionAtTheTimeWhenMarkerWasDragged);
}
});
Complete sample code is here.
fonte
2013-04-24 10:00:02