Проверьте, находится ли маркер внутри радиуса круга

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

В javascript я могу сделать что-то вроде:

google.maps.geometry.spherical.computeDistanceBetween(latLngCircleCenter, latLngPoint); 

Но в android, используя maps-v2, я застрял.

Введите описание изображения здесь

Solutions Collecting From Web of "Проверьте, находится ли маркер внутри радиуса круга"

После многих исследований я нашел очень простое решение:

 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(); } 

Я тестирую это, и он работает. Может кто-то проверить тоже и дать отзыв здесь?

Те же API, которые вы используете в Javascript, доступны для Android здесь: https://github.com/googlemaps/android-maps-utils/blob/master/library/src/com/google/maps/android/SphericalUtil.java

Я думаю, что его можно найти в Центре круга, вы определяете круг в своем коде с учетом данной геоинформации. Вы можете сохранить его и использовать позже. Затем попробуйте Location.distanceBetween (..)