Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带传单的可见GeoJSON路径的中心点_Javascript_Maps_Leaflet - Fatal编程技术网

Javascript 带传单的可见GeoJSON路径的中心点

Javascript 带传单的可见GeoJSON路径的中心点,javascript,maps,leaflet,Javascript,Maps,Leaflet,我正在做一个项目,显示一张以选定国家和邻国为中心的地图,所有地图都带有GeoJSON。我想知道是否有办法获得一个国家可见部分的中心点 该项目的一部分涉及添加国家标签作为标记。到目前为止,我可以在以下位置添加标记: 国家中心点 可见边界框的中心点 第一种方法很可能将标签放置在视图之外(或部分在视图中),第二种方法对此进行了改进,但可以将标签放置在国家以外的区域,因为边界框对于一个国家来说是过于简化的区域。理想情况下,我可以得到一个形状的裁剪区域,这样我就可以找出该形状的中心点,看看这个形状的标签放

我正在做一个项目,显示一张以选定国家和邻国为中心的地图,所有地图都带有GeoJSON。我想知道是否有办法获得一个国家可见部分的中心点

该项目的一部分涉及添加国家标签作为标记。到目前为止,我可以在以下位置添加标记:

  • 国家中心点
  • 可见边界框的中心点

  • 第一种方法很可能将标签放置在视图之外(或部分在视图中),第二种方法对此进行了改进,但可以将标签放置在国家以外的区域,因为边界框对于一个国家来说是过于简化的区域。理想情况下,我可以得到一个形状的裁剪区域,这样我就可以找出该形状的中心点,看看这个形状的标签放置是否会得到改进,但我不确定如何做到这一点。

    我不认为你可以单独使用ployate.js进行这样的空间变换,但听起来可能有必要的功能。假设您有自己的国家/地区geojson和视口bbox,类似的方法可能会奏效:

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

    草皮应该和传单配合得很好。(不过我自己还没有试过)。

    我一直在寻找类似于turf.js的东西,但没有发现。。。谢谢你!我已经取得了一些进展,所以这是在运行的“正确答案”:)增加了这一点作为接受。Turf可以给你带来一些非常好的效果,并且有很多有用的功能。与GeoJSON/传单一起使用非常简单。