javascript 从Map中删除

63lcw9qa  于 2022-11-20  发布在  Java
关注(0)|答案(1)|浏览(258)

我有一个Map,它会根据搜索结果填充标记。我尝试使用更新的谷歌Map功能AdvancedMarkerView,这样我就可以用自定义HTML填充它-然而,随着我的搜索更新,我想刷新旧的标记,并在需要时放置新的标记......我一辈子都想不出如何?https://developers.google.com/maps/documentation/javascript/reference/advanced-markers
下面的代码放置自定义标记。

const content = document.createElement('div');
content.className = 'marker-title';
content.textContent = item.title;

const marker = new google.maps.marker.AdvancedMarkerView({
  map,
  position: item.position,
  content
});

通常对于标记,就像在旧的标记中一样,我已经用下面的代码删除了它们,markers.forEach((marker) => marker.setMap(null))但是这似乎对高级标记不起作用。由于在创建高级标记时返回的标记指向该元素,我也尝试做了一个marker.remove(),认为HTML元素会被定位,但没有雪茄。
我还没有能够找到任何具体的例子,在谷歌API文档,当谈到高级标记,以及其他人问同样的问题。

  • 谢谢-谢谢
n9vozmp4

n9vozmp41#

没有setMap()或其他方法可在AdvancedMarkerView class上调用以切换其可见性或将其从Map中移除。
虽然它不是超级清楚,documentation说:
要从Map中删除标记,请将markerView.map属性设置为null .
工作示例如下:
第一个

相关问题