Я использую Карты Google и хочу определить, находится ли пользователь в радиусе маркера (размещенного на карте), используя текущее местоположение пользователя. У меня есть координаты текущего местоположения пользователя (широта и долгота) и координаты маркера, но я не знаю, как рассчитать, находится ли пользователь в этом районе. Картинка ниже может лучше всего описать то, что я хочу сделать.
У меня такой алгоритм:
map.OnInfoWindowClickListener(new OnInfoWindowClickListener()){
public void isUserInArea(Marker marker){
float[] distance = new float[2];
//users current location
Location.distanceBetween(currentLocation.getLatitude(),currentLocatiocation.getLongitude(),
marker.getPosition().latitude, marker.getPosition().longitude, distance);
}
Который не находит, находится ли текущее местоположение в пределах области маркера, потому что я не могу достать круг маркеров. Однако это самое близкое, что у меня есть. Был бы признателен за помощь.
Чтобы помочь, я добавляю круг на карту вот так
// adding circle to map
circleOptions = new CircleOptions();
circleOptions.center(new LatLng(locationlist.get(i)
.getLatitude(), locationlist.get(i).getLongitude()));
circleOptions.radius(20);
circleOptions.strokeColor(Color.BLUE);
circleOptions.fillColor(Color.BLUE);
map.addCircle(circleOptions);
//check that all tasks are in circle radius
Marker locationMarker = map.addMarker(markerOp);
locationMarker.showInfoWindow();