我所做的是从 xml 文件中获取数据,然后使用自定义 ItemizedOverlay 添加项目。
public CustomItemizedOverlay callme(List<Places> result){
Drawable drawable = this.getResources().getDrawable(R.drawable.ic_launcher);
latitudeE6 = result.get(i).latitude;
longitudeE6 = result.get(i).longitude;
GeoPoint point = new GeoPoint(latitudeE6a, longitudeE6a);
OverlayItem overlayitem = new OverlayItem(point, result.get(i).title, result.get(i).text);
CustomItemizedOverlay itemizedOverlay = new CustomItemizedOverlay(drawable);
itemizedOverlay.addOverlay(overlayitem);//add point
i++;
latitudeE6 =0;
longitudeE6 =0;
return itemizedOverlay;
}
当我在 UI 线程上时,我使用 while() 循环来打印:
int j=0;
List<Overlay> mapOverlays = mapView.getOverlays();
while( j < 5 ) {
test1 = callme(result1);
mapOverlays.add(test1);
j++;
}
MapController mapController = mapView.getController();
mapController.setZoom(12);
只需要显示五个项目,当 j < 5 时循环停止。问题是它只显示 xml 数据中的最后一项。