Android 地图标记显示相同的信息
我有谷歌地图,上面有一些标记,但所有标记都有羞耻的信息。如何为不同的标记生成不同的信息Android 地图标记显示相同的信息,android,google-maps-markers,google-maps-android-api-2,Android,Google Maps Markers,Google Maps Android Api 2,我有谷歌地图,上面有一些标记,但所有标记都有羞耻的信息。如何为不同的标记生成不同的信息 for (Station station : stationsListResponse.data.stations) { final Station st = station; map.addMarker(new MarkerOptions().position(new LatLng(station.getLatitude(), station.getLongi
for (Station station : stationsListResponse.data.stations) {
final Station st = station;
map.addMarker(new MarkerOptions().position(new LatLng(station.getLatitude(), station.getLongitude())));
map.setInfoWindowAdapter(new InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker arg0) {
return null;
}
@Override
public View getInfoContents(Marker marker) {
View v = getLayoutInflater().inflate(R.layout.info_window, null);
TextView info= (TextView) v.findViewById(R.id.info);
info.setText(st.street+"\n"+st.city);
return v;
}
});
}
这样做
map.setInfoWindowAdapter(new InfoWindowAdapter() {
@Override
public View getInfoContents(Marker marker) {
return null;
}
@Override
public View getInfoWindow(Marker marker) {
View v = getLayoutInflater().inflate(R.layout.info_window, null);
TextView info= (TextView) v.findViewById(R.id.info);
info.setText(st.street+"\n"+st.city);
return v;
}
});
所有标记具有相同信息的原因是您将Station st=Station声明为final 相反,设置希望显示为标记属性的信息,然后在调用getInfoContents(..)时可以访问它
for (Station station : stationsListResponse.data.stations)
{
map.addMarker(new MarkerOptions().position(new LatLng(station.getLatitude(), station.getLongitude())).snippet(station.street+"\n"+station.city));
}
map.setInfoWindowAdapter(new InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker arg0) {
return null;
}
@Override
public View getInfoContents(Marker marker) {
View v = getLayoutInflater().inflate(R.layout.info_window, null);
TextView info= (TextView) v.findViewById(R.id.info);
info.setText(marker.getSnippet());
return v;
}
});
最糟糕的是,所有人都有相同的信息,现在都失去了背景:(