Google Maps Marker для отображения названия местоположения в заголовке
Я совершенно новичок в разработке Android, пытаясь учиться здесь. Я пытаюсь заставить маркер отображаться на картах одним касанием или касанием, который также работает, он также показывает широту и долготу. Я хочу преобразовать эти значения широты и долготы в соответствующие названия мест, и я знаю, что это возможно с помощью обратного геокодера, но я просто не знаю, как правильно их кодировать.
Вот мой код
public void onMapReady(final GoogleMap googleMap) {
mMap = googleMap;
LatLng sydney = new LatLng(-34, 151);
mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng point) {
String address;
String city;
mMap.clear();
Geocoder geocoder;
List<Address> addresses;
geocoder = new Geocoder(MapsActivity.this, Locale.getDefault());
try {
addresses = geocoder.getFromLocation(point.latitude, point.longitude, 1);
address = addresses.get(0).getAddressLine(0);
city = addresses.get(0).getLocality();
MarkerOptions markerOptions = new MarkerOptions()
.position(point)
.title(city);
Marker marker = mMap.addMarker(markerOptions);
marker.showInfoWindow();
} catch (IOException e) {
e.printStackTrace();
}
}
});}
2 ответа
Вы можете использовать платформу коллекции для сопоставления (сопоставления) адресов с маркерами. Например, Карта "Строка, Строка" address_match; первая строка будет идентификатором маркера: всякий раз, когда вы создаете маркер getid() и размещаете его с адресом в объекте карты коллекции. Таким образом, вы можете искать по идентификатору при нажатии на маркер
Если вы хотите создать пользовательский указатель мест, например, Uber или Swiggy, вам нужно написать сервисные вызовы в Google Places API для получения сведений о местоположении. Вы должны сделать асинхронные вызовы службы, чтобы получить местоположение размещенного маркера.
Если вы хотите воспользоваться помощью Google, то можете воспользоваться Google PlacePicker. Это просто, быстро и эффективно с точки зрения производительности и веса приложения.