2015-03-02 118 views
0

我正在使用GeoJSON显示以选定国家和邻国为中心的地图的项目。我想知道是否有办法获得一个国家可见部分的中心点?使用小册子的可见GeoJSON路径的中心点

该项目的一部分涉及添加国家/地区标签作为标记。到目前为止,我可以添加标记:

  1. 国家中心点
  2. 可见边框

第一种方法更可能的地方标签的视野之外的中心点(或部分在第二部分中有所改进),但第二部分改进了这一点,但可以将标签放在国家以外的区域,因为边界框对于一个国家来说是过于简化的区域。理想情况下,我将能够获得一个形状的裁剪区域,以便我可以找出该中心点,以查看此标签的放置位置是否会得到改善,但我不知道该如何实现。

回答

0

不要以为你可以用leaflet.js自己做这样的空间转换,但听起来像turf.js可能有必要的功能。假设你有你的国家以GeoJSON和视口BBOX,这样的事情可能工作:

turf.pointOnSurface(turf.intersect(countryPoly, viewportBbox)); 

草皮应该与小叶发挥出色。 (尽管如此,还没有尝试过)。

+0

我一直在寻找类似turf.js的东西,但没有遇到过......所以谢谢你!我已经取得了一些进展,所以这是在“正确答案”:) – Rob 2015-03-03 00:25:45

+0

添加为接受。草坪可以给你一些相当不错的结果,并有很多有用的功能。与GeoJSON/Leaflet一起使用非常简单。 – Rob 2015-03-03 18:59:26

相关问题