无法使用Leaflet和Leaflet knn插件选择标记

时间:2019-06-13 08:45:05

标签: leaflet

我从数据库中获取了一堆经纬度,并循环遍历它们并将标记放置在地图上。

let geoJson = []

for (let i in elements) {
  let element = elements[i],
    ll = L.latLng(element.Location[0], element.Location[1]),
    llArr = { "type": "Point", "coordinates": [element.Location[0], element.Location[1]] }

  geoJson.push(llArr) // to have a geoJson for nearest points

  L.marker(ll, { icon: createMarkerIcon(element.Category) }).on('click', function (e) {
    info.update({ name: element.Name, tu: element.ThumbsUp, td: element.ThumbsDown, id: element.Id, tags: generateTagsList(element.Tags) })
  }).addTo(map)
}

在执行此操作的同时,我还将lat / lng推到geoJson以便稍后找到位置的最近标记。问题是我无法选择之前放在地图上的L.markers。看来geoJson中的点与标记是不同的元素。

1 个答案:

答案 0 :(得分:0)

  

似乎地理标记中的点是与标记不同的元素。

是的,你猜对了。

此外,GeoJSON格式的坐标应按[经度,纬度]顺序排列,而对于小叶标记,应按[经度,纬度]顺序排列。