如何在Mobile上的Google Maps JS API v3中区分点击和拖动?

汤姆·奥康纳

我正在使用Bootstrap,jQuery和Google Maps v3 API构建具有移动功能的HTML5网站。

我已经弄清楚了大部分代码,我希望能够单击,添加标记,将该位置HTTP POST到服务器(用于存储)。

最初,我很难让android看到触摸时应该发生点击。

if ($.browser.mobile) {
        google.maps.event.addListener(map, 'mousedown', function(event) {
           placeMarker(event.latLng);
        });

} else { 

  google.maps.event.addListener(map, 'click', function(event) {
     placeMarker(event.latLng);
  });

}
}

我正在使用http://detectmobilebrowsers.com/ jQuery代码来执行此操作$.browser.mobile

我遇到的问题是,如果我单击地图,将其拖动,然后移动到移动设备上的其他位置,它将调用placeMarker(),这很容易理解(如果令人讨厌的话),因此拖动地图的过程会创建标记(和POST到服务器)。

是否有任何方法可以检测到是否发生了拖动,因此我可以告诉它不要费心地进行placeMarker和POST?

关闭

看看这样的代码是否适合您:

google.maps.event.addListener(map, 'mousedown', function(event) {

  var initPoint = {x: event.pageX, y: event.pageY}, 
      toBeCanceled = false, 
      latLong = event.latLong;

    google.maps.event.addListener(map, 'mousemove', function(event) {
       var newPoint = {x: event.pageX, y: event.pageY};

       // if newPoint has moved beyond expected limits
       toBeCanceled = true
    });  

    google.maps.event.addListener(map, 'mouseup', function(event) {

      if (toBeCanceled) {
        event.preventDefault() // event.stop() seems to work as commented by OP
      } else {
        placeMarker(event.latLng);
      }

      // Unregister mousemove and mouseup
    });

});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Google Maps JS API中制作虚线的折线?

来自分类Dev

多个图块问题Google Maps API v3 JS

来自分类Dev

Google Maps API v3唯一标记JS

来自分类Dev

Google Maps JS api v3延迟拖拽标记

来自分类Dev

标记拖动事件Google Maps API V3

来自分类Dev

Angular Js和Google Maps API ngGeolocation

来自分类Dev

如何在Google Maps API v3中检测进入和退出streetView

来自分类Dev

Google Maps JS APi v3融合表图层在Chrome中不起作用

来自分类Dev

将.js文件中的变量传递给Google Maps API v3 html

来自分类Dev

使用可拖动的Google Maps API V3在输入字段中获取标记地址

来自分类Dev

Google Maps JS API v3 - 如何检查和显示多边形点之间的距离

来自分类Dev

如何在Google Map API v3中区分鼠标单击事件中的鼠标左键和鼠标右键

来自分类Dev

Blazor:Google Maps JS API

来自分类Dev

Google Maps v3 API:如何通过拖动更改路线来更新标记的位置?

来自分类Dev

Esri功能服务和Google Maps API v3

来自分类Dev

使用本机Google Maps API v3函数的gmaps.js

来自分类Dev

Google Maps API JS V3:infowindow.getPosition()==未定义?

来自分类Dev

Google Maps JS API(v3)InfoWindow脚本错误-JSON未定义

来自分类Dev

查询Fusion Tables在Google Maps JS API v3上不起作用

来自分类Dev

如何从Google Maps JS API获取MapPanes

来自分类常见问题

如何在Google Maps API v3中使用SVG标记

来自分类Dev

如何在Google Maps API v3中创建网格

来自分类Dev

如何在Google Maps API v3中将类添加到标记

来自分类Dev

在Google Maps API v3中绘制多个圆圈

来自分类Dev

Google Maps Javascript API V3中的旋转标记

来自分类Dev

延迟在Google Maps API V3中添加图层

来自分类Dev

Google Maps Javascript API V3中的旋转标记

来自分类Dev

在Google Maps Javascript API v3中一次拖动多个多边形

来自分类Dev

使地图在Google Maps API v3上运行的问题

Related 相关文章

  1. 1

    如何在Google Maps JS API中制作虚线的折线?

  2. 2

    多个图块问题Google Maps API v3 JS

  3. 3

    Google Maps API v3唯一标记JS

  4. 4

    Google Maps JS api v3延迟拖拽标记

  5. 5

    标记拖动事件Google Maps API V3

  6. 6

    Angular Js和Google Maps API ngGeolocation

  7. 7

    如何在Google Maps API v3中检测进入和退出streetView

  8. 8

    Google Maps JS APi v3融合表图层在Chrome中不起作用

  9. 9

    将.js文件中的变量传递给Google Maps API v3 html

  10. 10

    使用可拖动的Google Maps API V3在输入字段中获取标记地址

  11. 11

    Google Maps JS API v3 - 如何检查和显示多边形点之间的距离

  12. 12

    如何在Google Map API v3中区分鼠标单击事件中的鼠标左键和鼠标右键

  13. 13

    Blazor:Google Maps JS API

  14. 14

    Google Maps v3 API:如何通过拖动更改路线来更新标记的位置?

  15. 15

    Esri功能服务和Google Maps API v3

  16. 16

    使用本机Google Maps API v3函数的gmaps.js

  17. 17

    Google Maps API JS V3:infowindow.getPosition()==未定义?

  18. 18

    Google Maps JS API(v3)InfoWindow脚本错误-JSON未定义

  19. 19

    查询Fusion Tables在Google Maps JS API v3上不起作用

  20. 20

    如何从Google Maps JS API获取MapPanes

  21. 21

    如何在Google Maps API v3中使用SVG标记

  22. 22

    如何在Google Maps API v3中创建网格

  23. 23

    如何在Google Maps API v3中将类添加到标记

  24. 24

    在Google Maps API v3中绘制多个圆圈

  25. 25

    Google Maps Javascript API V3中的旋转标记

  26. 26

    延迟在Google Maps API V3中添加图层

  27. 27

    Google Maps Javascript API V3中的旋转标记

  28. 28

    在Google Maps Javascript API v3中一次拖动多个多边形

  29. 29

    使地图在Google Maps API v3上运行的问题

热门标签

归档