Определите, что географическая точка находится внутри ломаной линии, с помощью Google Maps SDK для Android

Я пытаюсь изменить маршрут на Картах Google, но у меня возникла проблема, и я не уверен, когда мне нужно изменить маршрут.

Так что кто-нибудь говорит мне, что как определить, находится ли географическая точка внутри полилинии рисования или нет?

Потому что, когда эта точка приземлится за пределами этой ломаной линии, я могу легко изменить маршрут.

Заранее спасибо,

Возможный дубликат Определите, находится ли точка в многоугольнике

Andrii Omelchenko 05.12.2018 10:55

Взгляните на вопрос это и ответ тот.

Andrii Omelchenko 05.12.2018 10:56
0
2
464
1

Ответы 1

вы можете сделать это с помощью вспомогательной (почти официальной) библиотеки:

https://github.com/googlemaps/android-maps-utils

Вы можете найти свой метод в классе com.google.maps.android.PolyUtil используя:

public static boolean isLocationOnPath(LatLng point, List<LatLng> polyline,
                                       boolean geodesic, double tolerance)

Вы можете вычислить, находится ли это место на пути. Геодезический true-false зависит от вашего местоположения и размера пути, я обычно устанавливаю false (так как это маршрут). Допуск - это допустимое количество метров от пути, если вы поставите, например, 5, вы получите истинное значение, если точка находится в пределах 5 метров от пути (чтобы избежать изменения маршрута для одной неправильной точки)!

Другие вопросы по теме