Google지도에 두 가지 유형의 정보 창을 표시하려고합니다. 마커를 클릭하면 맞춤 정보 창이 호출되지만지도를 클릭하면 다른 맞춤 정보 창이 표시되지 않습니다. 또한 로그가 있는데 setOnMapClickListener 내에서 getInfoContents가 호출되지 않는 것으로 나타났습니다. setOnMarkerListener 내의 getInfoContents가 불려갑니다. ... 왜?getInfoContents()가 호출되지 않았습니다.
mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng latLng) {
mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker marker) {
Log.v("a", "getInfoWindow");
return null;
}
@Override
public View getInfoContents(Marker marker) {
Log.v("a", "getInfoContents");
View view = getActivity().getLayoutInflater().inflate(R.layout.marker_default, null);
TextView title = (TextView) view.findViewById(R.id.default_infowindow);
title.setText(mCompany);
return view;
}
});
}
});
mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker marker) {
return null;
}
@Override
public View getInfoContents(Marker marker) {
View view = getActivity().getLayoutInflater().inflate(R.layout.marker_window, null);
ImageView badge = (ImageView) view.findViewById(R.id.badge);
badge.setImageResource(R.drawable.ic_launcher);
TextView title = (TextView) view.findViewById(R.id.title);
TextView snippet = (TextView) view.findViewById(R.id.snippet);
title.setText(mCompany);
snippet.setText(mAddress);
return view;
}
});
return false;
}
});
감사합니다! 나는 그것을 몰랐다. 다른 방법을 시도해 보겠습니다! – tarofess