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

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

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

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

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

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

enter image description here

4b9b3361

Ответ 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();
}

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

Ответ 3

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