所以我一直在尝试将点击事件检测到MapView
,以便通过点击启动方法。
尝试标准onClickListener
或onTouch
的任何变体都不合适。
我不想在地图的某个部分添加“抓住”点击的叠加层。 我希望地图继续响应拖动,缩放等。
任何帮助都将不胜感激。
答案 0 :(得分:24)
所以,显然解决方案很简单。 我想它是在最后一个支持库中添加的。 GoogleMap现在支持onMapClick。
mMapView.getMap().setOnMapClickListener(new OnMapClickListener()
{
@Override
public void onMapClick(LatLng arg0)
{
android.util.Log.i("onMapClick", "Horray!");
}
});
答案 1 :(得分:12)
在新版Google Play服务中,您应该在地图准备就绪后,在onMapReady(GoogleMap map);
回调中调用该方法。
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.setOnMapClickListener(new GoogleMap.OnMapClickListener()
{
@Override
public void onMapClick(LatLng arg0)
{
android.util.Log.i("onMapClick", "Horray!");
}
});
}
答案 2 :(得分:0)
public class MapView implements OnMapReadyCallback, GoogleMap.OnMarkerClickListener {
@Override
public boolean onMarkerClick(Marker marker) {
println("click marker");
}
}