我正在使用google API,並且我爲標記創建了自定義infowindow。 我需要顯示工具欄地圖,但使用這種方法 map.getUiSettings()。 setMapToolbarEnabled(true), 當我點擊標記時,它顯示我的infowindow而不是工具欄。android map.getUiSettings()。setMapToolbarEnabled(true),爲什麼不顯示工具欄?
CODE:
@覆蓋 公共無效onMapReady(GoogleMap的GoogleMap的){
mMap = googleMap;
mMap.getUiSettings().setMapToolbarEnabled(true);
mMap.setOnMarkerClickListener(this);
mMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
MarkerCouple idtype = (MarkerCouple) marker.getTag();
if (idtype.getType() == ResourceType.EVENTS && currentEvents.get(idtype.getID()) != null) {
Resources resources = currentResources.get(currentEvents.get(idtype.getID()).getRes_ID());
Events event = currentEvents.get(idtype.getID());
Intent i = new Intent(MainActivity.this, ShowEventActivity.class);
i.putExtra(Variable.USER_JSON, user.toJSON());
i.putExtra(Variable.EVENT_JSON, event.toJSON());
i.putExtra(Variable.RESOURCE_JSON, resources.toJSON());
startActivityForResult(i, Variable.SHOW_EVENT);
}
if (idtype.getType() == ResourceType.PLACES && currentPlaces.get(idtype.getID()) != null) {
Resources resources = currentResources.get(currentPlaces.get(idtype.getID()).getRes_ID());
Places place = currentPlaces.get(idtype.getID());
Intent i = new Intent(MainActivity.this, ShowPlaceActivity.class);
i.putExtra(Variable.USER_JSON, user.toJSON());
i.putExtra(Variable.PLACE_JSON, place.toJSON());
i.putExtra(Variable.RESOURCE_JSON, resources.toJSON());
startActivityForResult(i, Variable.SHOW_PLACE);
}
}
});
mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker marker) {
View v = getLayoutInflater().inflate(R.layout.marker_preview, null);
ImageView m = (ImageView) v.findViewById(R.id.marker_image);
m.setImageBitmap(Bitmap.createScaledBitmap(imageToShow, 600, 400, true));
return v;
}
@Override
public View getInfoContents(Marker marker) {
return null;
}
});
new MarkerAsync().execute();
}
@Override
public boolean onMarkerClick(final Marker marker) {
MarkerCouple idtype = (MarkerCouple) marker.getTag();
if (idtype.getType() == ResourceType.EVENTS && currentEvents.get(idtype.getID()) != null) {
Events event = currentEvents.get(idtype.getID());
final Resources resources = currentResources.get(event.getRes_ID());
Picasso.with(MainActivity.this).invalidate(Variable.DOWNLOAD_URL + resources.getURI());
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
try {
imageToShow = Picasso.with(MainActivity.this).load(Variable.DOWNLOAD_URL + resources.getURI()).get();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void v) {
marker.showInfoWindow();
}
}.execute();
}
if (idtype.getType() == ResourceType.PLACES && currentPlaces.get(idtype.getID()) != null) {
Places place = currentPlaces.get(idtype.getID());
final Resources resources = currentResources.get(place.getRes_ID());
Picasso.with(MainActivity.this).invalidate(Variable.DOWNLOAD_URL + resources.getURI());
Picasso.with(MainActivity.this).invalidate(Variable.DOWNLOAD_URL + resources.getURI());
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
try {
imageToShow = Picasso.with(MainActivity.this).load(Variable.DOWNLOAD_URL + resources.getURI()).get();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void v) {
marker.showInfoWindow();
}
}.execute();
}
return true;
}
請發表您的代碼 –
我貼我的代碼 – helloimluca