删除Google地图叠加层时,此删除功能不起作用

时间:2017-08-16 21:44:03

标签: javascript google-maps

我在Google地图上放置了一个叠加层:

function CustomerMarker(map) {
    this.Map = map;
    this.setMap(map);

}

    GoogleMap = new google.maps.Map(document.getElementById("map"), {
        zoom: 16,
        canZoom: false,
        center: { lat: lat, lng: lng },
        mapTypeControl: false,
        streetViewControl: false,
        scaleControl: false,
        clickableIcons: false
    });

    CustomMarker.prototype = new google.maps.OverlayView();
    CustomMarker.prototype.onAdd = function () {
        //Some code
    };
    CustomMarker.prototype.draw = function () {
        //Some code
    };

    CustomMarker = new CustomMarker(GoogleMap);

哪个工作正常,并且叠加显示,但是当我尝试删除

时会出现问题
CustomMarker.setMap(null)

我收到错误,标记仍然是

Error: this.remove is not a function
pz@https://maps.googleapis.com/maps-api-v3/api/js/30/1/overlay.js:1:251
rk@https://maps.googleapis.com/maps-api-v3/api/js/30/1/overlay.js:2:476
_.pg.prototype.map_changed/<@https://maps.googleapis.com/maps/api
/js?key=AIzaSyBCiIPv6fgrRVn3veTJeP6ihfhrw8AXwbY:125:662
_.G@https://maps.googleapis.com/maps/api/js?key=AIzaSyBCiIPv6fgrRVn3veTJeP6ihfhrw8AXwbY:51:447
_.pg.prototype.map_changed@https://maps.googleapis.com/maps/api/js?key=AIzaSyBCiIPv6fgrRVn3veTJeP6ihfhrw8AXwbY:125:636
Db@https://maps.googleapis.com/maps/api/js?key=AIzaSyBCiIPv6fgrRVn3veTJeP6ihfhrw8AXwbY:37:103
_.k.set@https://maps.googleapis.com/maps/api/js?key=AIzaSyBCiIPv6fgrRVn3veTJeP6ihfhrw8AXwbY:101:728
_.jd/<@https://maps.googleapis.com/maps/api/js?key=AIzaSyBCiIPv6fgrRVn3veTJeP6ihfhrw8AXwbY:55:317

1 个答案:

答案 0 :(得分:1)

documentation for OverlayView州:

  

您必须实现三种方法:onAdd(),draw()和onRemove()。

我没有看到onRemove的实施。