添加500多个标记会使应用程序挂起。
|
我正在开发一个地点/商店应用程序,并具有500多个来自Google Map上DB的标记。
我像这样添加2种地点和一种商店:
Cursor places = db.getAllPlaces();
this.placeMarker0 = new ItemizedMarker(this.getResources().getDrawable(
R.drawable.place0), this);
this.placeMarker1 = new ItemizedMarker(this.getResources().getDrawable(
R.drawable.place1), this);
this.shopMarker = new ItemizedMarker(this.getResources().getDrawable(
R.drawable.shop), this);
if (places.moveToFirst()) {
do {
String[] coordinates = places.getString(11).split(\",\");
if (coordinates.length > 0) {
GeoPoint point = new GeoPoint((int) (Double
.parseDouble(coordinates[0]) * 1E6), (int) (Double
.parseDouble(coordinates[1]) * 1E6));
OverlayItem overlayitem = new OverlayItem(point, places
.getString(1), Integer.toString(places.getInt(0)));
if (places.getInt(12) == 0) {
placeMarker0.addMarker(overlayitem);
} else if (places.getInt(12) == 1) {
placeMarker1.addMarker(overlayitem);
} else {
shopMarker.addMarker(overlayitem);
}
} else {
Log.w(\"GMaps\", \"Place not located - \" + places.getString(1));
}
} while (places.moveToNext());
this.placeMarker0.populateNow();
this.mapOverlays.add(placeMarker0);
this.placeMarker1.populateNow();
this.mapOverlays.add(placeMarker1);
this.shopMarker.populateNow();
}
这很好用,并且显示了所有标记(默认情况下不是商店:-))
问题在于,添加所有标记后,该应用程序通常会冻结,并且您无法单击任何标记,也不能一会儿捏缩放/移动地图。我添加了ZoomControls,它们可以工作,但不能直接与地图交互。
Android Google Map API只是不能很好地处理许多标记,还是应该使用其他方法?
如果您需要更多详细信息,请现在让我!
没有找到相关结果
已邀请:
1 个回复
久纳禾澎