Проверьте, находится ли маркер внутри радиуса круга Я пытаюсь узнать, находится ли данный маркер внутри радиуса круга. В javascript я могу сделать что-то вроде: google.maps.geometry.spherical.computeDistanceBetween(latLngCircleCenter, latLngPoint); Но в android, используя maps-v2, я застрял. Ответ 1 После большого исследования я нашел очень простое решение: float[] distance = new float[2]; Location.distanceBetween( marker.getPosition().latitude, marker.getPosition().longitude, circle.getCenter().latitude, circle.getCenter().longitude, distance); if( distance[0] > circle.getRadius() ){ Toast.makeText(getBaseContext(), "Outside", Toast.LENGTH_LONG).show(); } else { Toast.makeText(getBaseContext(), "Inside", Toast.LENGTH_LONG).show(); } Я тестирую это и работаю. Может ли кто-то проверить и дать отзыв здесь? Ответ 2 Те же API, которые вы используете в Javascript, доступны для Android здесь: https://github.com/googlemaps/android-maps-utils/blob/master/library/src/com/google/maps/android/SphericalUtil.java Ответ 3 Я думаю, что его можно найти в Центре круга, вы определяете круг в своем коде с учетом данной геоинформации. Вы можете сохранить его и использовать позже. Затем попробуйте Location.distanceBetween(..)
Ответ 1 После большого исследования я нашел очень простое решение: float[] distance = new float[2]; Location.distanceBetween( marker.getPosition().latitude, marker.getPosition().longitude, circle.getCenter().latitude, circle.getCenter().longitude, distance); if( distance[0] > circle.getRadius() ){ Toast.makeText(getBaseContext(), "Outside", Toast.LENGTH_LONG).show(); } else { Toast.makeText(getBaseContext(), "Inside", Toast.LENGTH_LONG).show(); } Я тестирую это и работаю. Может ли кто-то проверить и дать отзыв здесь?
Ответ 2 Те же API, которые вы используете в Javascript, доступны для Android здесь: https://github.com/googlemaps/android-maps-utils/blob/master/library/src/com/google/maps/android/SphericalUtil.java
Ответ 3 Я думаю, что его можно найти в Центре круга, вы определяете круг в своем коде с учетом данной геоинформации. Вы можете сохранить его и использовать позже. Затем попробуйте Location.distanceBetween(..)