Есть ли способ, как получить placeID места, когда пользователь нажимает на infowindow маркера? Я создал приложение, которое ищет близлежащие места (например, больница). Я хочу сделать это, чтобы получить место в определенном месте, нажав на infowindow, чтобы я мог получить информацию о определенном месте. Любая помощь будет оценена по достоинству. Благодаря!Получить место в месте на infowindow нажмите
ответ
При добавлении маркеров хранения место идентификатора (если вы получаете в JSon/ответ XML), в snipet маркеров, как это,
marker.setSnippet(placeId);
затем щелчок InfoWindow получить от объекта Marker
onInfowindowClick(Marker marker){
int placeId = marker.getSnippet();
//now you can use it to call anyother service call
}
Но мой вопрос вы получаете место Id, потому что это не ясно из вашего вопроса
см выделенный участок имеет его увидеть, если вы можете использовать его, не уверен, извините
и если это ussable, вам нужно разобрать ответ JSON, чтобы получить значение идентификатора
Как я могу получить placeid из файла JSON? – Gelly
вы должны создать маркер, как это:
Marker marker = mMap.addMarker(new MarkerOptions()
.position(new LatLng(40.714224, -73.961452))
.title("Title")
.snippet("Description")
.icon(BitmapDescriptorFactory.fromResource(R.drawable.icon)));
marker.setTag("PlaceId");
, а затем:
Marker markerClicked;
googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
// Retrieve the data from the marker.
String clickTag = (String) marker.getTag();
if (clickTag != null) {
// do something
Toast.makeText(MainActivity.this, marker.getTitle() + " è stato cliccato. Tag: " + clickTag + ".", Toast.LENGTH_SHORT).show();
markerClicked= marker;
}
return false;
}
});
googleMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
Double lat= marker.getPosition().latitude; // 40.714224
Double longit= marker.getPosition().longitude; // -73.961452
// and then call this url:
// "http://maps.google.com/maps/api/geocode/json?latlng=40.714224,-73.961452"
}
});
Ps: private GoogleMap googleMap;
представляет собой поле деятельности и устанавливается как GoogleMap mMap
, которые вы можете найти в
MapView mMapView.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap mMap) {
googleMap = mMap;
...
}
как это относится к вопросу ?? сначала прочитайте вопрос ... – rafsanahmad007
находится там место идентификатор, возвращаемый в réponse из API Google Адресов? – Mrinmoy
см. Это http://www.androidtrainee.com/showing-nearby-places-and-place-details-using-google-places-api-and-google-maps-android-api-v2/, который имеет подробный способ парсинга рядом с данными места – rafsanahmad007
@ rafsanahmad007 Я попытался выполнить этот код. Просьба проверить этот другой пост, я действительно не могу показать номера телефонов заведений – Gelly