javascript - 无法删除 MarkerWithLabel

标签 javascript jquery google-maps google-maps-api-3

我正在使用带有 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/

相关文章:

php - jquery 插件创建带有背景图像的方 block

javascript - 创建一个 jQuery 容器来保存其他功能

javascript - 查找字符串中同时也是后缀的最长前缀 - Javascript

javascript - 使用 JS (WebAudio API) 分块处理音频

javascript - 对非拉丁字符串进行排序不起作用

php - 服务器端标记聚类

javascript - 如何在不使用任何指令的情况下以 Angular 初始化谷歌地图API?

javascript - 如何为 Array.map 中的特定实体应用样式属性?

javascript - CORS - 预检请求后发出的请求期望 'Access-Control-Allow-Credentials' 为真

html - 对话框未显示在谷歌地图中