我正在创建一个简单的地图Phonegap应用,点击地图,然后添加一个标记,并显示一个弹出窗体。这工作正常,但我需要确保每个标记只能点击一次。
这是我迄今为止所尝试过的:
google.maps.event.addListener(clickMarker, 'click',
function (e) {
addLocations(this.getPosition()); // calls popup form
/* clickMarker.setOptions({
clickable: false
});*/
clickMarker.setClickable(false);
});
我可以提出什么问题?如果有可能,我做错了什么?
答案 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
- 卡洛斯: - )