Internet Explorer + Windows8 Touchscreen issues

你。 提交于 2019-12-04 06:15:12

Some success At Last (the map still move a bit but can be ignored at the moment)!

Declared two variables:

var isAnyMarkerIsInDraggingState = false;// if a marker is in drag state this value will be TRUE otherwise FALSE
var mapCenterPositionAtTheTimeWhenMarkerWasDragged;// Map Center Position

When Marker is dragged:

   google.maps.event.addListener(objMarker, 'dragstart', function () {
        // Store map center position when a marker is dragged
        mapCenterPositionAtTheTimeWhenMarkerWasDragged = mapObject.getCenter();
        isAnyMarkerIsInDraggingState = true;
    });

When Marker is dropped (drag ends):

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;
});

When the Map Drag starts:

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 });
    }
});

When Map is in dragging state:

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.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!