【问题标题】:Angular Remove Google map Markers角删除谷歌地图标记
【发布时间】:2018-10-13 15:15:34
【问题描述】:

我正在尝试在单击按钮时从地图中删除所有标记;

gmarkers = []; //define empty array for all markers

添加标记,显示地图:

addMarkersToMap(markers) { 
    for(let marker of markers) {
    var  position = new google.maps.LatLng(marker.latitude,   marker.longitude);
    var myMarker = new google.maps.Marker({
       position: position,
       title: marker.name
     });
     myMarker(this.map);
     this.gmarkers.push(marker); //push all markers to gmarkers array
   }
}

删除标记:

removeMarkers(){
  if (this.gmarkers) {
      for (let i in this.gmarkers) {
        this.gmarkers[i].setMap(null);
      }

      this.gmarkers = [];
   }
}

也可以尝试用这种方法去除:

removeMarkers(){
    for(var i=0; i<this.gmarkers.length; i++){
      this.gmarkers[i].setMap(null);
    }
   this.gmarkers = [];
}

我收到错误:

this.gmarkers[i].setMap 不是函数

【问题讨论】:

    标签: angular typescript ionic-framework google-maps-markers


    【解决方案1】:

    试试这个:改用foreach

    removeMarkers(){
        this.gmarkers.foreach((marker)=>{
            marker.setMap(null);
            marker = null;
        })
       this.gmarkers = [];
    }
    

    并且在您的 addMarkersToMap() 方法中,您正在推送 marker 变量,而不是您需要在 gmarkers 中推送 myMarker 我猜。

    addMarkersToMap(markers) { 
        for(let marker of markers) {
        var  position = new google.maps.LatLng(marker.latitude,   marker.longitude);
        var myMarker = new google.maps.Marker({
           position: position,
           title: marker.name
         });
         myMarker(this.map);
         //replace marker with myMarker
         this.gmarkers.push(myMarker); //push all markers to gmarkers array
       }
    }
    

    【讨论】:

    • 感谢您的快速回答,我尝试了这种方法,但再次出现同样的错误。我是否需要发布其余代码,也许有某种导致问题的代码?
    • 在你的 addMarkersToMap() 方法中,你正在推送 marker 变量,而不是你需要在 gmarkers 中推送 myMarker 我猜。
    • 看来是我看错方法找错了。。谢谢你的时间,现在很好用!
    • 代码似乎不是角度/打字稿。为什么标题说“角度?
    猜你喜欢
    • 2012-10-17
    • 1970-01-01
    • 2017-02-10
    • 2014-05-01
    • 2016-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多