У меня есть действие API Карт Google и вы хотите, чтобы метки были доступны только в том случае, если пользователь находится в определенном радиусе к ним. Как это лучший способ? Это, как я установил свои маркеры: кодПосмотрите, находится ли текущее местоположение рядом с маркером
Marker marker1 = googleMap.addMarker(new MarkerOptions()
.position(new LatLng(49.793012, 9.926201))
.title(getString(R.string.Title1))
.icon(BitmapDescriptorFactory.fromResource(R.drawable.marker)));
Marker marker2 = googleMap.addMarker(new MarkerOptions()
.position(new LatLng(49.792742, 9.939118))
.title(getString(R.string.Title2))
.icon(BitmapDescriptorFactory.fromResource(R.drawable.marker)));
Marker marker3 = googleMap.addMarker(new MarkerOptions()
.position(new LatLng(49.793349, 9.932558))
.title(getString(R.string.Title3))
.icon(BitmapDescriptorFactory.fromResource(R.drawable.marker)));
Решение:
LatLng markerPosition = marker.getPosition();
myLocation = locationManager.getLastKnownLocation(provider);
Location markerLoc = new Location("marker");
markerLoc.setLatitude(markerPosition.latitude);
markerLoc.setLongitude(markerPosition.longitude);
float meters = myLocation.distanceTo(markerLoc);
Вы решили проблему? Вы мне ответили? –
У меня все еще были проблемы с сравнением двух мест. Я сделал это следующим образом: 'LatLng markerPosition = marker.getPosition(); myLocation = locationManager.getLastKnownLocation (поставщик); Местоположение markerLoc = новое местоположение («маркер»); markerLoc.setLatitude (markerPosition.latitude); markerLoc.setLongitude (markerPosition.longitude); float meters = myLocation.distanceTo (markerLoc); ' – maidi
Редактируйте свой quesiton своим кодом –