我正在开发一个项目,该项目显示以所选国家和邻国为中心的地图,所有这些都使用GeoJSON。我想知道是否有办法获得一个国家可见部分的中心点?
项目的一部分涉及添加国家标签作为标记。到目前为止,我可以添加标记:
第一种方法很可能将标签放在视图之外(或部分在视图中),第二种方法可以改进,但是可以将标签放在国家之外的区域,因为边界框是一个国家过于简化的区域。理想情况下,我可以获得一个形状的剪切区域,以便我可以找出它的中心点,看看这个标签的位置是否会有所改善,但我不知道该怎么做。
答案 0 :(得分:0)
不要认为你可以使用它上面的leaflet.js进行这样的空间变换,但turf.js之类的声音可能具有必要的功能。假设你有你的国家geojson和你的viewport bbox,这样的东西可能会起作用:
turf.pointOnSurface(turf.intersect(countryPoly, viewportBbox));
草皮应该与传单很好地配合。 (尽管如此,我还没有尝试过。)