我有一个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文档,当谈到高级标记,以及其他人问同样的问题。
- 谢谢-谢谢
1条答案
按热度按时间n9vozmp41#
没有
setMap()
或其他方法可在AdvancedMarkerView
class上调用以切换其可见性或将其从Map中移除。虽然它不是超级清楚,documentation说:
要从Map中删除标记,请将
markerView.map
属性设置为null
.工作示例如下:
第一个