对于一个小项目,我允许用户向数据库添加区域。他们的查询被发送到http://nominatim.openstreetmap.org,我存储了纬度和经度。如果可用,我还会存储 geoJSON 多边形轮廓数据。
示例输出:http ://nominatim.openstreetmap.org/search?q=wyoming&format=xml&polygon_geojson=1&addressdetails=1
然后使用 Leaflet.js 在地图上显示这个轮廓区域。对于很多多边形来说,这很好,但似乎库可以处理的数据量是有限的。一些相当复杂的区域(需要长文本存储在 mysql 中)根本不会显示,不会引发错误。
我想我的问题有两个部分: 1 - 我是否正确假设大型数据集是问题的根源,或者 Leaflet.js 是否应该能够处理这些问题?2 - 简化此类数据集的最佳方法是什么?Leaflet 有这样一种显示区域的算法,但这似乎已经是失败点了。
当我们讨论这个话题时:现在我正在通过拆分数据并在 javascript 中将其修补在一起,将 Nominatim 的 lnglat 多边形转换为传单的 latlng。有没有更简单/更安全的方法来做到这一点?我是否应该将该任务移至服务器并使用一些 php 库/函数?
我感谢您的帮助!
编辑:忘了提:在多边形无法渲染的情况下,我的控制台给了我这个错误:TypeError:t is null