Google Place - 设置信息窗口单击监听器

时间:2017-11-20 20:13:59

标签: android api loops maps clicklistener

如果有这个循环我怎么能setOnInfoWindowClickListener? 我正在尝试创建一个Android应用程序。要从json文件中检索数据,我使用了改造。 点击信息窗口时我需要帮助我想要显示有关点击位置的更多信息。 我想显示点击附近地点名称的Toast。

for (int i = 0; i < response.body().getResults().size(); i++) {
                Double lat = response.body().getResults().get(i).getGeometry().getLocation().getLat();
                Double lng = response.body().getResults().get(i).getGeometry().getLocation().getLng();
                final String placeName = response.body().getResults().get(i).getName();
                // String vicinity = response.body().getResults().get(i).getVicinity();
                // Double ratting = response.body().getResults().get(i).getRating();
                final List <String> nameLocation = new ArrayList<>();
                nameLocation.add(placeName);

                MarkerOptions markerOptions = new MarkerOptions();
                LatLng latLng = new LatLng(lat, lng);
                // Position of Marker on Map
                markerOptions.position(latLng);
                // Adding Title to the Marker
                markerOptions.title(placeName);
                // Adding colour to the marker
                markerOptions.icon(BitmapDescriptorFactory.defaultMarker(markerColor));

                // Adding Marker to the Camera.
                Marker mMarker = mMap.addMarker(markerOptions);
                // move map camera
                mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
                mMap.animateCamera(CameraUpdateFactory.zoomTo(12));



            }

1 个答案:

答案 0 :(得分:0)

正如您在评论中提到的,通过执行以下操作,您可以在点击地图上的标记时显示祝酒词。

首先将标记点击侦听器附加到地图:

mMap.setOnMarkerClickListener(new OnMarkerClickListener {
  public boolean onMarkerClick(final Marker marker) {
    //TODO: Show your toast    
  }
});

接下来,在点击处理程序中,创建一个新的吐司。确保在此处理程序中具有应用程序上下文,以便您可以将Toast附加到该上下文。

final Context context = this;

mMap.setOnMarkerClickListener(new OnMarkerClickListener {
  public boolean onMarkerClick(final Marker marker) {
    Toast toast = Toast.makeText(context, marker.getTitle(), "Additional info",  Toast.LENGTH_SHORT);
    toast.show();
  }
});