大家好我揭露了我的问题,但在我向您展示我创建的代码之前,为了更详细地介绍:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState, R.layout.activity_map);
GoogleMap map = ((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map)).getMap();
if (map != null) {
// Ciclo un mio ArrayList contenente contenuti con relative Latitudine e Longitudine
for (int i = 0; i < Contenuti.size(); i++) {
double lat = Double.parseDouble(Contenuti.get(i)
.getLatitude());
double lng = Double.parseDouble(Contenuti.get(i)
.getLongitude());
LatLng PUNTI = new LatLng(lat, lng);
String title = Contenuti.get(i).getName();
map.addMarker(new MarkerOptions()
.position(POI_POINT).title(title));
}
map.moveCamera(CameraUpdateFactory.newLatLngZoom(STARTING_POINT, 5));
map.animateCamera(CameraUpdateFactory.zoomTo(15), 2000, null);
}
}
我认为到目前为止一切都很清楚:
1 - 加载地图;
2 - 使用所有conenuti循环一个ArrayList,并为每个内容关联一个标记。
那么请来我的要求或问题:
1 - 我应该在将所有标记放在地图上后,您可以在屏幕上看到显示所有标记的地图,我看到我的情况有一个方法“newLatLngBounds”谷歌地图中心/显示所有点并在屏幕上显示它们,但我不明白如何将它集成到我的代码中,或者更确切地说是我使应用程序必须出错的证据!
2 - 第二个问题是我应该以静态的方式将Marker图标的属性与从我的ArrayList中恢复的图像(在这种情况下是包含此图像的url)相关联......但这不是全部因为图像叠加或包含在我的pin.png中 - >在这种情况下,我已经看到使用'“InfoWindowAdapter”,但它不是我想要的!因为后者在我的自定义布局中创建了包含标记信息的屏幕,为了更好地传达我向您展示我尝试的代码的想法:
private class CustomInfoWindowAdapter implements InfoWindowAdapter {
private View view;
public CustomInfoWindowAdapter() {
view = getLayoutInflater().inflate(R.layout.custom_pin, null);
}
@Override
public View getInfoContents(Marker marker) {
if (MapActivity.this.marker != null
&& MapActivity.this.marker.isInfoWindowShown()) {
MapActivity.this.marker.hideInfoWindow();
MapActivity.this.marker.showInfoWindow();
}
return null;
}
@Override
public View getInfoWindow(final Marker marker) {
MapActivity.this.marker = marker;
String url = null;
if (marker.getId() != null && markers != null && markers.size() > 0) {
if (markers.get(marker.getId()) != null
&& markers.get(marker.getId()) != null) {
url = markers.get(marker.getId());
}
}
final ImageView image = ((ImageView) view.findViewById(R.id.badge));
if (url != null && !url.equalsIgnoreCase("null")
&& !url.equalsIgnoreCase("")) {
ImageLoader.getInstance().displayImage(url, image);
} else {
image.setImageResource(R.drawable.ic_launcher);
}
return view;
}
}
private void initWidget() {
txtHeader = (TextView) findViewById(id.txtHeaderMenu);
if (Commons.categoriesList != null) {
txtHeader.setText(Commons.categoriesList.get(Commons.cat_id)
.getName());
}
}
我使用外部库universalimageloader来显示图像。它有效...但它不是我想要的,因为它们是应该采取这种效果的标记。
提前感谢您的合作
我等待你的建议......