che ho fatto con il modo più semplice, come di seguito:
private GoogleMap mMap;
Mentre aggiungendomarcatore sulla Google Map:
LatLng mLatLng = new LatLng(YourLatitude, YourLongitude);
mMap.addMarker(new MarkerOptions().position(mLatLng).title("My Title").snippet("My Snippet"+"\n"+"1st Line Text"+"\n"+"2nd Line Text"+"\n"+"3rd Line Text").icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)));
dopo che ha messo sotto il codice per InfoWindowadattatore su Google Map:
mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker arg0) {
return null;
}
@Override
public View getInfoContents(Marker marker) {
LinearLayout info = new LinearLayout(mContext);
info.setOrientation(LinearLayout.VERTICAL);
TextView title = new TextView(mContext);
title.setTextColor(Color.BLACK);
title.setGravity(Gravity.CENTER);
title.setTypeface(null, Typeface.BOLD);
title.setText(marker.getTitle());
TextView snippet = new TextView(mContext);
snippet.setTextColor(Color.GRAY);
snippet.setText(marker.getSnippet());
info.addView(title);
info.addView(snippet);
return info;
}
});
Spero che vi aiuterà.
fonte
2015-07-25 17:38:32
Se utilizzati getInfoWindow() per restituire una visione del tutto personalizzata, notare che sembra che ci sia un errore quando si utilizza un RelativeLayout per esso. Potrei far funzionare il mio solo quando si passa a un LinearLayout. Ho archiviato un bug report: http://code.google.com/p/gmaps-api-issues/issues/detail?id=4874 – Till
@Till: in genere, quando si utilizza una risorsa di layout con un 'RelativeLayout' come root, quando lo si gonfia, si desidera utilizzare il metodo 'inflate()' a tre parametri, passando il 'ViewGroup' padre e' false' per gli ultimi due parametri. Tuttavia, non viene passato un genitore in 'getInfoContents()', quindi non possiamo farlo. Mentre sono un po 'sorpreso di un 'NullPointerException', non mi sorprende affatto che il' RelativeLayout' non funzioni correttamente. Mi sarei aspettato che alcune delle regole di layout per i figli di 'RelativeLayout' venissero ignorate o altrimenti non funzionassero. – CommonsWare
@CommonsWare Sto leggendo il 'Maps V2 Chapter' dal tuo 4.6 libro e ho una domanda che è in discussione con questa domanda, quindi penso che sia un buon posto per chiedere. Vago se c'è un modo per impostare un distinto 'infoWindow' per ogni marcatore, purché' setInfoWindowAdapter() 'sia applicato alla mappa del buco? – AlexAndro