gpt4 book ai didi

leaflet - Leaflet 中是否有类似于 Google map 中的 isLocationOnEdge() 的内容?

转载 作者:行者123 更新时间:2023-12-02 18:22:12 24 4
gpt4 key购买 nike

Google map 具有函数 isLocationOnEdge(point, polyline, Tolerance),它采用以度为单位的容差值,并用它来确定点是否落在折线附近。

Leaflet(或某些插件)中是否有类似的东西可以做同样的事情?

最佳答案

用于此类操作的少数库是 Turf .

对于您的情况,一个简单的方法是:

  1. 使用 turf.buffer 从折线创建多边形具有适当的“公差”(草皮与地球表面的距离或度数)。
  2. 使用 turf.inside 检查您的点是否在该多边形内.

不幸的是,turf.buffer只是一个approximation ,它没有考虑大地测量......因此,对于大公差,您将得到变形的形状。

确切的方法可能是:

  1. 使用 turf.pointOnLine找到折线的最近点。
  2. turf.distance测量这 2 点之间的距离,并与您的容差进行比较(甚至只是 Leaflet latLng.distanceTo ,但您必须将 GeoJSON 点转换回 Leaflet LatLngs)。

关于leaflet - Leaflet 中是否有类似于 Google map 中的 isLocationOnEdge() 的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38383315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com