the - Problemas con la pantalla táctil de Internet Explorer+Windows8
navegador compatible con la api de javascript de google maps (1)
Estamos experimentando un problema relacionado con Google Maps API V3 . El problema es que mientras arrastramos el marcador, el mapa también comienza a arrastrarse.
Estamos experimentando este problema SÓLO en pantallas táctiles en Windows 8 Environment + Internet Explorer , está bien en pantallas NORMAL / pantallas móviles - IPaid / otros navegadores (Safari y Firefox).
Usamos la siguiente solución, pero arroja un error (error eval javascript error
) en Internet Explorer9 y 10 :
google.maps.event.addListener(marker, ''dragstart'', function(){
mapObject.setOptions({ draggable: false });
});
google.maps.event.addListener(marker, ''dragend'', function(){
mapObject.setOptions({ draggable: true });
});
El código de muestra está aquí .
También hemos informado sobre este problema aquí: gmaps-api-issues
EDITAR:
También hemos publicado una pregunta relacionada aquí.
Algún éxito At Last (¡el mapa aún se mueve un poco pero puede ser ignorado en este momento!)
Declarado dos variables:
var isAnyMarkerIsInDraggingState = false;// if a marker is in drag state this value will be TRUE otherwise FALSE
var mapCenterPositionAtTheTimeWhenMarkerWasDragged;// Map Center Position
Cuando Marker es arrastrado:
google.maps.event.addListener(objMarker, ''dragstart'', function () {
// Store map center position when a marker is dragged
mapCenterPositionAtTheTimeWhenMarkerWasDragged = mapObject.getCenter();
isAnyMarkerIsInDraggingState = true;
});
Cuando Marker se cae (el arrastre termina):
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;
});
Cuando se inicia Map Drag:
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 });
}
});
Cuando Map está en estado de arrastre:
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);
}
});