如何在google maps api java android中找到两条路线的交叉点?

时间:2018-04-23 15:07:44

标签: android google-maps

正如标题所述,我想知道如何在google maps API中找到两条不同路线的相交点。

请查看此图片以获得更好的可视化效果:

Intersection

1 个答案:

答案 0 :(得分:1)

您可以使用PolyUtil.isLocationOnPath(LatLng point, java.util.List<LatLng> polyline, boolean geodesic, double tolerance)中的Google Maps Android API Utility Library。在这种情况下,您需要迭代“红色”折线的每个点并检查(使用isLocationOnPath())它是否与“蓝色”折线的每个段相交(放置)。这样的事情:

for (LatLng point : redPolyline.getPoints()) {
    if (PolyUtil.isLocationOnPath(point, bluePolyline.getPoints(), true, 50)) {
        // now "point" - is your target point
        pointWhatYouWantToGet = point;
        ...
    }
}

其中50 - 是公差(以米为单位)。

如果您需要多段线段交叉,请查看thisantonio回答。

相关问题