将Google地图API标记限制为每个标记只能单击一次

时间:2015-05-14 02:46:27

标签: javascript android google-maps google-maps-api-3

我正在创建一个简单的地图Phonegap应用,点击地图,然后添加一个标记,并显示一个弹出窗体。这工作正常,但我需要确保每个标记只能点击一次。

这是我迄今为止所尝试过的:

    google.maps.event.addListener(clickMarker, 'click',

        function (e) {

            addLocations(this.getPosition()); // calls popup form
            /*   clickMarker.setOptions({
                clickable: false
            });*/

            clickMarker.setClickable(false);

        });

我可以提出什么问题?如果有可能,我做错了什么?

2 个答案:

答案 0 :(得分:2)

addListener替换为addListenerOnce。这将确保您的监听器被调用一次。

答案 1 :(得分:1)

否,不要将clickable设置为false,请尝试删除事件侦听器

clickMarker.addListener('click', //add the listener to your marker object directly
   function (e) {
        addLocations(this.getPosition()); // calls popup form
        // Do ever things you want to do before calling this
        // Removing the event, so we can just call once
        google.maps.event.clearListeners(clickMarker, "click"); // don't forget the 's'
});

由于您正在使用phonegap,我强烈建议您将此插件用于Google地图,这样会更容易:

https://github.com/wf9a5m75/phonegap-googlemaps-plugin

- 卡洛斯: - )