Я работаю с Geo-fencing в Android. Я могу нарисовать многоугольник на карте и получить значения широты и долготы вершин. У меня вопрос: как определить, когда пользователь входит в многоугольник? Есть ли способ определить, находится ли пользователь внутри многоугольника или за его пределами?
Проблемы с геозоной в Android
Ответы (2)
Вы можете использовать API геозон Google Play Services, запущенный в IO 2013, чтобы сделать это довольно легко.
Полное руководство можно найти в создании и мониторинге геозон в документации для разработчиков. В частности, раздел обрабатывает переходы геозон.
person
Anup Cowkur
schedule
28.06.2013
но как я могу использовать это для многоугольников?
- person Jithu P.S; 28.06.2013
Geofence API пока использует только круговые области. Это может измениться позже. Если вы хотите использовать многоугольники, вам придется реализовать свои собственные алгоритмы. Это будет подвержено ошибкам, и это будет сложно сделать. Я рекомендую использовать круговые геозоны и API, если у вас нет веской причины не делать этого. Вот ветка, в которой обсуждается геозоны с использованием многоугольников: stackoverflow.com/q/924171/1369222
- person Anup Cowkur; 28.06.2013
Немного запоздалый ответ, но вы можете использовать android-maps-utils, у которого есть PolyUtil
класс, содержащий следующий метод:
// Computes whether the given point lies inside the specified polygon.
static boolean containsLocation(LatLng point, List<LatLng> polygon, boolean geodesic)
person
Sam R.
schedule
09.09.2014