我成功地在谷歌地图上显示标记,但问题是如果我的标记多于应用程序响应缓慢。
public void setMarkerToPoint(ArrayList<BinForLocation> list)
{
for(int i = 0;i<list.size();i++)
{
Log.v("log",""+list.get(i).getLongitude());
Log.v("log",""+list.get(i).getLatitude());
try
{
point = new GeoPoint((int) (Double.parseDouble(list.get(i).getLatitude()) * 1e6),(int) (Double.parseDouble(list.get(i).getLongitude()) * 1e6));
overlayitem = new OverlayItem(point, list.get(i).getLocationName()+"_@_"+list.get(i).getLatitude()+"_@_"+list.get(i).getLongitude(), list.get(i).getAddress());
itemizedoverlay.addOverlay(overlayitem);
mapOverlays.add(itemizedoverlay);
}
catch (Exception e)
{
Log.v("log",""+e.toString());
e.printStackTrace();
}
point = new GeoPoint((int) (Double.parseDouble(list.get(i).getLatitude()) * 1e6),(int) (Double.parseDouble(list.get(i).getLongitude()) * 1e6));
CenterLocation(point);
myMapController.setZoom(14);
}
}
这个函数我在 oncreate() 中调用