mam zrobić z najprostszy sposób jak poniżej:
private GoogleMap mMap;
Podczas dodanieznacznik na 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)));
Po tym zamieszczam poniżej kod dla InfoWindowadapter na 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;
}
});
nadzieję, że to pomoże.
Jeśli używasz getInfoWindow(), aby powrócić zupełnie niestandardowy widok pamiętać, że nie wydaje się być błąd przy użyciu RelativeLayout dla niego. Mogłem tylko zmusić mnie do pracy po przejściu na LinearLayout. Złożyłem zgłoszenie błędu: http://code.google.com/p/gmaps-api-issues/issues/detail?id=4874 – Till
@Till: Normalnie, gdy używasz zasobu układu z 'RelativeLayout' jako root, kiedy go nadmuchujesz, chcesz użyć trzyparametrowej metody "inflate()", przekazując rodzicowi 'ViewGroup' i' false' dla dwóch ostatnich parametrów. Jednakże nie przekazujemy rodzica w 'getInfoContents()', więc nie możemy tego zrobić. Chociaż jestem nieco zaskoczony "NullPointerException", nie jestem zaskoczony, że 'RelativeLayout' nie działa poprawnie. Spodziewałbym się niektórych reguł układu dla dzieci "RelativeLayout", które należy zignorować lub w inny sposób źle się zachowywać. – CommonsWare
@CommonsWare Czytam 'Map V2 Chapter' od twoich 4.6 książka i mam pytanie, które jest tematem tego pytania, więc myślę, że jest to dobre miejsce do zadawania pytań. Przechodzę, czy istnieje jakiś sposób ustawienia odrębnego 'infoWindow' dla każdego znacznika, o ile' setInfoWindowAdapter() 'zostanie zastosowane do mapy otworów? – AlexAndro