使用Leaflet JS返回最近要素(json)多边形的标题

杰森·弗莱蒂

我有json格式的四个轮廓(特征),在传单地图上显示为多边形。当前,我在单击L.Control.Locate箭头时正在显示我的当前位置。它显示了我在多边形附近的位置,但是,我想知道我最靠近哪个多边形(按标题),并有一个警报或至少一个变量告诉我最近的标题。

使用Next Nearest https://github.com/mapbox/leaflet-knn,我不清楚如何获得最近的点。我创建了一个小函数:

function nearBy(latlng){
    //does nearBy() have the latlng? This does show me the latlng of the user
    alert(latlng);
    //pass in all the data
    var gj = L.geoJson(GEOJSON_DATA);
    //do the knn magics
    var index = leafletKnn(gj).nearest(L.latLng(latlng), 5);
    //show me something
    alert(index);
}

警报(索引)涌出:[对象对象],[对象对象],[对象对象],[对象对象],[对象对象]

...很好,因为它表明那里有东西,但是,我什么也没得到。

有人在用leaflet-knn做我吗?

...编辑... json看起来像这样(下面不完整):

{ "type": "Feature", "properties": { "Name": "<a href='framework/index.html'><h3>Conecuh National Forest</h3></a>", "description": "<html xmlns:fo=\"http:\/\/www.w3.org\/1999\/XSL\/Format\" xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\">\n\n<head>\n\n<META http-equiv=\"Content-Type\" content=\"text\/html\">\n\n<meta http-equiv=\"content-type\" content=\"text\/html; charset=UTF-8\">\n\n<\/head>\n\n<body style=\"margin:0px 0px 0px 0px;overflow:auto;background:#FFFFFF;\">\n\n<table style=\"font-family:Arial,Verdana,Times;font-size:12px;text-align:left;width:100%;border-collapse:collapse;padding:3px 3px 3px 3px\">\n\n<tr style=\"text-align:center;font-weight:bold;background:#9CBCE2\">\n\n<td>Conecuh National Forest<\/td>\n\n<\/tr>\n\n<tr>\n\n<td>\n\n<table style=\"font-family:Arial,Verdana,Times;font-size:12px;text-align:left;width:100%;border-spacing:0px; padding:3px 3px 3px 3px\">\n\n<tr>\n\n<td>PROCLAIMEDFORESTID<\/td>\n\n<td>295366010328<\/td>\n\n<\/tr>\n\n<tr bgcolor=\"#D4E4F3\">\n\n<td>FORESTNAME<\/td>\n\n<td>Conecuh National Forest<\/td>\n\n<\/tr>\n\n<tr>\n\n<td>GIS_ACRES<\/td>\n\n<td>171215.333<\/td>\n\n<\/tr>\n\n<tr bgcolor=\"#D4E4F3\">\n\n<td>SHAPE<\/td>\n\n<td>Polygon<\/td>\n\n<\/tr>\n\n<tr>\n\n<td>SHAPE.AREA<\/td>\n\n<td>0.065501<\/td>\n\n<\/tr>\n\n<tr bgcolor=\"#D4E4F3\">\n\n<td>SHAPE.LEN<\/td>\n\n<td>1.596221<\/td>\n\n<\/tr>\n\n<\/table>\n\n<\/td>\n\n<\/tr>\n\n<\/table>\n\n<\/body>\n\n<\/html>", "timestamp": null, "begin": null, "end": null, "altitudeMode": null, "tessellate": 1, "extrude": -1, "visibility": -1, "drawOrder": null, "icon": null }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -86.399549, 31.205536, 0.0 ], [ -86.407326, 31.205638, 0.0 ], [ -86.409808, 31.205671, 0.0 ], [ -86.413319, 31.205717, 0.0 ], [ -86.414067, 31.205711, 0.0 ], [ -86.418361, 31.205674, 0.0 ], [ -86.429486, 31.20558, 0.0 ], [ -86.429544, 31.198715, 0.0 ], [ -86.429615, 31.190445, 0.0 ], [ -86.429627, 31.185575, 0.0 ], [ -86.429651, 31.175982, 0.0 ], [ -86.430013, 31.175979, 0.0 ], [ -86.430563, 31.175974, 0.0 ], [ -86.432963, 31.175952, 0.0 ], [ -86.433052, 31.175951, 0.0 ], [ -86.433474, 31.175947, 0.0 ], [ -86.433864, 31.175944, 0.0 ]

...编辑2 ...

使用FireBug和console.log(),我可以得到结果。Leaflet-knn正确返回它们,并具有最接近的LatLng作为(在我的json中)index [0] .lat +“,” index [0] .lon

如果有人,我仍然会喜欢一些“干净”的方法示例...

tmcw

使用nearestLayer代替nearest::将返回最接近的图层,而不是文档中指定的最接近的点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Leaflet JS返回最近要素(json)多边形的标题

来自分类Dev

在ArcGIS JS中使用要素/多边形的子查询

来自分类Dev

如何使用Leaflet一次仅编辑一个要素/多边形?

来自分类Dev

使用Mapbox或Leaflet突出显示多边形

来自分类Dev

使用leaflet.js在点周围添加设置大小的正方形多边形

来自分类Dev

GeoJSON多边形的Leaflet Js计算区域

来自分类Dev

多边形内的Leaflet和Turf.js点

来自分类Dev

如何使用leaflet.draw从多边形获取区域字符串

来自分类Dev

使用leaflet-pip和d3.geo包含多边形中的点

来自分类Dev

无法使用Leaflet draw插件在地图上显示多边形

来自分类Dev

无法在leaflet.js上以d3.js“格式”绘制多边形

来自分类Dev

使用Three.js生成常规多边形

来自分类Dev

使用点击功能绘制新的Kinetic JS多边形

来自分类Dev

使用多边形包含

来自分类Dev

使用多边形包含

来自分类Dev

在leaflet.js中,如何触发来自多边形对象单击的fancybox事件?

来自分类Dev

使用$ near在mongodb中查找某个点的最近多边形

来自分类Dev

在Leaflet中显示来自GeoJSON文件的多边形标记

来自分类Dev

React Leaflet:动态设置多边形的样式

来自分类Dev

如何在不使用Leaflet.draw UI的情况下单击按钮并开始新的多边形

来自分类Dev

如何在不使用Leaflet.draw UI的情况下单击按钮并开始新的多边形

来自分类Dev

如何在使用Google Map API时显示多边形标题

来自分类Dev

使用剪切路径时图像和标题隐藏:多边形HTML / CSS

来自分类Dev

多边形内的SQL Geography点在STIntersect上不返回true(但使用Geometry返回true)

来自分类Dev

在Leaflet.js中,如何将地图聚焦在外部JS突出显示的多边形上?

来自分类Dev

使用gIntersection循环多边形裁剪

来自分类Dev

使用matplotlib绘制运动多边形

来自分类Dev

使用设计器绘制多边形

来自分类Dev

如何使用EaselJS绘制多边形?

Related 相关文章

  1. 1

    使用Leaflet JS返回最近要素(json)多边形的标题

  2. 2

    在ArcGIS JS中使用要素/多边形的子查询

  3. 3

    如何使用Leaflet一次仅编辑一个要素/多边形?

  4. 4

    使用Mapbox或Leaflet突出显示多边形

  5. 5

    使用leaflet.js在点周围添加设置大小的正方形多边形

  6. 6

    GeoJSON多边形的Leaflet Js计算区域

  7. 7

    多边形内的Leaflet和Turf.js点

  8. 8

    如何使用leaflet.draw从多边形获取区域字符串

  9. 9

    使用leaflet-pip和d3.geo包含多边形中的点

  10. 10

    无法使用Leaflet draw插件在地图上显示多边形

  11. 11

    无法在leaflet.js上以d3.js“格式”绘制多边形

  12. 12

    使用Three.js生成常规多边形

  13. 13

    使用点击功能绘制新的Kinetic JS多边形

  14. 14

    使用多边形包含

  15. 15

    使用多边形包含

  16. 16

    在leaflet.js中,如何触发来自多边形对象单击的fancybox事件?

  17. 17

    使用$ near在mongodb中查找某个点的最近多边形

  18. 18

    在Leaflet中显示来自GeoJSON文件的多边形标记

  19. 19

    React Leaflet:动态设置多边形的样式

  20. 20

    如何在不使用Leaflet.draw UI的情况下单击按钮并开始新的多边形

  21. 21

    如何在不使用Leaflet.draw UI的情况下单击按钮并开始新的多边形

  22. 22

    如何在使用Google Map API时显示多边形标题

  23. 23

    使用剪切路径时图像和标题隐藏:多边形HTML / CSS

  24. 24

    多边形内的SQL Geography点在STIntersect上不返回true(但使用Geometry返回true)

  25. 25

    在Leaflet.js中,如何将地图聚焦在外部JS突出显示的多边形上?

  26. 26

    使用gIntersection循环多边形裁剪

  27. 27

    使用matplotlib绘制运动多边形

  28. 28

    使用设计器绘制多边形

  29. 29

    如何使用EaselJS绘制多边形?

热门标签

归档