永久删除数组中的标记

时间:2015-06-11 08:22:38

标签: javascript arrays google-maps google-maps-api-3 google-maps-markers

我需要通过右键单击删除我的标记,因为我有两个按钮来显示标记并隐藏它们但是当我右键单击每个标记时它意味着删除它但是它不能让任何人查看我的代码并看到什么我错过了,因为我看不到它,我现在已经找了大约2个小时:

function rightclickableMarker(marker, h) {
    google.maps.event.addListener(marker, 'rightclick', function(evt) {
        if(lastCoordinates[h] && lastCoordinates[h].setMap){
         lastCoordinates[h].setMap(null);
          delete (lastCoordinates);
          var idx = path.indexOf(lastCoordinates[h].getPosition())
          if (idx > -1) {
             path.splice(idx, 1);
            // removeLine();
             drawPath();
          }

        } 
    });
}

1 个答案:

答案 0 :(得分:0)

你可以使用"这个"在你的监听器中删除标记:

   google.maps.event.addListener(marker, 'rightclick', function(evt) {
     //...
     this.setMap(null);
     //...
   }

我怀疑lastCoordinates [h]实际上并不包含标记,但是您还没有发布足够的代码来确定是否是这种情况。 删除后也使用lastCoordinates [h]。它是否会抛出异常?