我目前正在将ios地图应用程序移植到Android。 GMSGeometryIsLocationOnPathTolerance api我找不到相应的android api是什么。
您需要从 Maps SDK for Android Utility Library 中获取PolyUtil.isLocationOnPath()
:
public static boolean isLocationOnPath(LatLng point, java.util.List<LatLng> polyline, boolean geodesic, double tolerance)
计算给定点是位于折线上还是位于折线附近,在 以米为单位的指定公差。折线由大 如果测地线为真,则圆段,否则为恒向线段。 折线不是闭合的 -- 第一条折线之间的闭合段 点和最后一个点不包括在内。
此处介绍了适用于 Android 的地图 SDK 实用工具设置步骤。
您可以通过以下方式使用它:
...
for (LatLng point : redPolyline.getPoints()) {
if (PolyUtil.isLocationOnPath(point, path.getPoints(), true, 50)) {
// point is on path
...
}
}
其中50
- 是公差(以米为单位(。