为什么事件侦听器不在Android中使用Google地图标记?
目前我正在谷歌地图上工作,但当我给标记提供click listener时,事件不会触发为什么事件侦听器不在Android中使用Google地图标记?,android,google-maps,Android,Google Maps,目前我正在谷歌地图上工作,但当我给标记提供click listener时,事件不会触发 @Override public void onMapReady(GoogleMap googleMap) { googleMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() { @Override public View getInfoWindow(Marker marker) {
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker marker) {
View view = getActivity().getLayoutInflater().inflate(R.layout.map_marker_layout, null);
mNameLayout = (RelativeLayout) view.findViewById(R.id.map_name_layout);
mNameLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getActivity(), "Clicked", Toast.LENGTH_SHORT).show();
}
});
return view;
}
@Override
public View getInfoContents(Marker marker) {
return null;
}
});
}
请仔细阅读我的代码,并向我建议一些解决方案。在mapready上按如下方式单击列表
googleMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
Toast.makeText(getActivity(), "Infowindow clicked", Toast.LENGTH_SHORT).show();
}
});
googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
Toast.makeText(getActivity(), "Marker Clicked", Toast.LENGTH_SHORT).show();
return false;
}
});
从上面的代码中,您将映射布局扩展到getInfoWindow()中,并设置布局上的单击事件而不是标记上的单击事件 如果你想点击你的地图,你需要试试这个-
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng latLng) {
}
});
}
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
return true;
}
});
}
如果你想点击你的地图标记,那么你需要试试这个-
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng latLng) {
}
});
}
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
return true;
}
});
}
是不是
Toast
没有显示?嘿,谢谢,没有Toast显示我不是很确定,但是你可以先在MNAMEALAYOUT
上使用setClickable(true)
。没有setClickable(true)不起作用你提到你已经将click listener添加到了标记中,但在代码中,您已将其设置为信息窗口布局。您是要单击标记还是窗口?