我正在使用带有 MarkerWithLabel 类的 Google map API。将标记添加到 map 后,我无法删除它们。
我试过将它们推送到一个数组,然后遍历它以远程处理它们。在这一点上,我只是想在添加它们之后立即使用 setMap(null) 删除它们 - 但无济于事。
var marker = new MarkerWithLabel({
position: { lat: latitude, lng: longitude },
draggable: false,
raiseOnDrag: true,
map: hotelsMap,
label: 'label',
labelContent: hotelName,
labelAnchor: new google.maps.Point(-13, 37),
labelClass: "google-maps-label",
labelStyle: {opacity: 0.75},
title: hotelName });
marker.setMap(null);
这是我得到的:
Uncaught TypeError: this.label.setMap is not a function
最佳答案
删除 label
属性。
当您创建 MarkerWithLabel 时,该属性将根据其他属性(labelContent
等)自动设置。
库和 Maps-API 之间基本上存在冲突:
今年 google.maps.Marker
添加了一个 label
属性,但是 MarkerWithLabel(扩展了 google.maps.Marker
)创建一个 label
-property,但具有不同的属性/方法,导致错误。
关于javascript - 无法删除 MarkerWithLabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34113700/