微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Angular 项目中使用 Leaflet 显示标记簇

如何解决在 Angular 项目中使用 Leaflet 显示标记簇

我正在使用 Angular 和 Angular CLI 11.2.0。我想制作一个由一些标记组成的地图,看起来像这样:https://leaflet.github.io/Leaflet.markercluster/example/marker-clustering-realworld.388.html
因此我使用了 Leaflet 库并且还安装了 MarkerCluster 插件

我写的片段是这样的:

   var addresspoints = [
    [45.76,-0.65,"a"],[42.25,-0.64,"b"]
  ];
  
  var markers = L.markerClusterGroup();

  for (var i = 0; i < addresspoints.length; i++) {
    var a = addresspoints[i];
    var title = a[2];
    var marker = L.marker(new L.LatLng(a[0],a[1]),{title: title}
    );
    marker.bindPopup(contentPopup);
    markers.addLayer(marker);
}
    mymap.addLayer(markers); 

但这行不通。我有以下错误

类型 'string' 不可分配给类型 'number'

在行:var marker = L.marker(new L.LatLng(a[0],a[1])

类型 'number' 不能分配给类型 'string |未定义'。

在行:{title: title}

我检查了格式,不明白,因为坐标 a[0] 和 a[1] 是数组 addresspoints 中的数字。另一方面, title 变量是该数组中的一个字符串..
当我用 45.76、-0.65 和“myTitle”替换 a[0]、a[1] 和 a[2] 时,我不再有错误消息,并且我看到 MarkerCluster 插件工作正常。问题应该在循环内部,但我不知道是什么以及在哪里。

我该怎么做才能让它发挥作用?
任何帮助将不胜感激!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。