在忽略双击的同时处理

在忽略双击的同时处理

本文介绍了在忽略双击的同时处理 Google Maps JS API v3 中的点击事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用 Google Maps JS API v3,我想在用户点击地图的位置放置一个标记,同时保持用户双击时的默认行为(而不是在地图上添加任何标记).

With the Google Maps JS API v3, I want to drop a marker where the user clicks on the map, while keeping the default behavior when the user double clicks (and not adding any marker on the map).

我想过在点击事件上定义超时.如果在接下来的几毫秒内触发了双击事件,则超时被取消.如果不是,则在超时到期时将标记放置在地图上.但它看起来并不是有史以来最好的解决方案.

I thought about defining a timeout on click event. If a double click event is triggered within the next few milliseconds, the timeout is cancelled. If not, the marker is placed on the map when the timeout expires.But it doesn't really look like the best solution ever.

有没有更优雅的方法来处理这个问题?

Is there a more elegant way to handle this?

谢谢.

推荐答案

最简单的解决方法.

var location;
var map = ...

google.maps.event.addListener(map, 'click', function(event) {
    mapZoom = map.getZoom();
    startLocation = event.latLng;
    setTimeout(placeMarker, 600);
});

function placeMarker() {
    if(mapZoom == map.getZoom()){
        new google.maps.Marker({position: location, map: map});
    }
}

shogunpanda的解决方案更好(见下文)

shogunpanda's solution is better (see below)

这篇关于在忽略双击的同时处理 Google Maps JS API v3 中的点击事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-06 06:51