Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript clearListeners不使用“domready”和“rightclick”_Javascript_Google Maps Api 3 - Fatal编程技术网

Javascript clearListeners不使用“domready”和“rightclick”

Javascript clearListeners不使用“domready”和“rightclick”,javascript,google-maps-api-3,Javascript,Google Maps Api 3,是一个由其他人贡献的版本。用户可以单击地图创建一个或多个标记,并提交每个标记的标题。然后,用户可以右键单击任何现有标记以删除该标记。但是,我希望用户只能删除一个标记,因此我希望忽略第一个标记之后的任何右键单击。下面的代码显示了我这样做的尝试,以及一些注释掉的替代尝试。问题是删除第一个标记后,会确认随后的右键单击。我做错了什么 var domListener; domListener = google.maps.event.addListener(infowindow, 'domread

是一个由其他人贡献的版本。用户可以单击地图创建一个或多个标记,并提交每个标记的标题。然后,用户可以右键单击任何现有标记以删除该标记。但是,我希望用户只能删除一个标记,因此我希望忽略第一个标记之后的任何右键单击。下面的代码显示了我这样做的尝试,以及一些注释掉的替代尝试。问题是删除第一个标记后,会确认随后的右键单击。我做错了什么

var domListener;

    domListener = google.maps.event.addListener(infowindow, 'domready', function () {
    ...
    });

    // Right click event (to present delete marker button)
    delListener = google.maps.event.addListener(marker, 'rightclick', function () {
        infowindow.setContent(deleteButton);
        infowindow.open(map, marker);
        google.maps.event.clearListeners(marker, 'rightclick');
        // google.maps.event.clearListeners(this, 'mouseup');
        // google.maps.event.removeListener(domListener);
    });

您必须为标记收集所有的DomainListener,并为剩余的标记调用RemovelListener。您说要收集所有的DomainListener。我想我尝试过为“domready”命名唯一的侦听器,然后包括注释掉的行google.maps.event.RemovelListenerDomListener;,但当我这么做的时候,第一次删除甚至都不起作用——提交,也就是说。你是说别的吗?对不起,我是说听众。它们是标记右键单击事件的句柄。如果您只需要一个事件作为第一个事件,也许您应该使用…修复它。我为I=0添加了以下代码;i