检查点是否在本机映射的多边形内?

dig*_*guy 6 google-maps polygon react-native react-native-maps

我有一个API,该API返回的纬度和经度数组定义了地图(多边形)上某个区域的边界。

多边形的例子

在我的react-native应用程序中,我安装了react-native-maps。如何检查用户的位置是否在api返回的多边形中?

我知道可以使用具有此containsLocation()功能的Google Maps Web来实现。是否存在类似的功能react-native-maps

Mar*_*sik 5

react-native-maps 不公开该功能,但我知道有两个包可以帮助您:

  1. react-native-geo-fencing与您提到的谷歌地图实用程序相同。

  2. react-native-geo-fence为您处理位置检查并公开您可以挂钩的事件。


小智 5

对于仍在寻找更简单的替代方案(或Circle像我需要的那样获得支持)的任何人,请考虑使用geolibhttps : //github.com/manuelbieh/Geolib

安装简单明了:

$yarn add geolib

然后在你的 React Native 项目中,使用以下命令导入它:

import geolib from 'geolib'

然后只需使用 README.md 中解释的 API。