有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在地图视图上添加超过100个标记

我在开发者网站上学习了Hello MapView教程,一切都很顺利。但现在我需要扩展它来添加大约150个标记,我当前的方法会使我的应用程序崩溃

Reason: keyDispatchingTimedOut

我的设置如下

包含地图数据的四个字符串数组,都具有(并且将始终具有)完全相同数量的索引和fId[0]==平坦度[0]==浮动度[0]==FD细节[0],依此类推:

    String[] fId;
    String[] fLatitude;
    String[] fLongitude;
    String[] fDetails;

到目前为止,这就是我在地图上绘制点的方式。这显然不是正确的方法,因为地图不断崩溃:

        List<Overlay> mapOverlays = mapView.getOverlays();
    Drawable drawable = this.getResources().getDrawable(R.drawable.安卓marker);
    FriendItemizedOverlay itemizedoverlay = new FriendItemizedOverlay(drawable, mapView.getContext());

    for(int i=0;i<aLatitude.length;i++){

        Double intLon = Double.parseDouble(aLongitude[i]);
        Double intLat = Double.parseDouble(aLatitude[i]);

        GeoPoint point = new GeoPoint((int)(intLat * 1E6), 
                (int)(intLon * 1E6));
        OverlayItem overlayitem = new OverlayItem(point, "Friend ", "Something");

        itemizedoverlay.addOverlay(overlayitem);
        mapOverlays.add(itemizedoverlay);

    }

如果您需要更多信息,请在评论中告诉我,谢谢

日志:

01-13 18:39:34.732: ERROR/MapActivity(1085): Couldn't get connection factory client 01-13 18:40:14.473: ERROR/ActivityManager(69): ANR in com.example.friendapp (com.example.friendapp/.FriendMaps) 01-13 18:40:14.473: ERROR/ActivityManager(69): Reason: keyDispatchingTimedOut 01-13 18:40:14.473: ERROR/ActivityManager(69): Load: 2.39 / 0.78 / 0.42 01-13 18:40:14.473: ERROR/ActivityManager(69): CPU usage from 6026ms to 0ms ago: 01-13 18:40:14.473: ERROR/ActivityManager(69): 93% 1085/com.example.friendapp: 93% user + 0% kernel / faults: 25 minor 01-13 18:40:14.473: ERROR/ActivityManager(69): 2.6% 69/system_server: 1.8% user + 0.8% kernel / faults: 3 minor 01-13 18:40:14.473: ERROR/ActivityManager(69): 1.1% 875/com.google.process.gapps: 0% user + 1.1% kernel 01-13 18:40:14.473: ERROR/ActivityManager(69): 1.1% 980/com.安卓.quicksearchbox: 0% user + 1.1% kernel 01-13 18:40:14.473: ERROR/ActivityManager(69): 0.9% 133/com.安卓.launcher: 0% user + 0.9% kernel 01-13 18:40:14.473: ERROR/ActivityManager(69): 0.1% 40/adbd: 0% user + 0.1% kernel 01-13 18:40:14.473: ERROR/ActivityManager(69): 100% TOTAL: 95% user + 4.1% kernel 01-13 18:40:14.473: ERROR/ActivityManager(69): CPU usage from 2192ms to 2863ms later: 01-13 18:40:14.473: ERROR/ActivityManager(69): 80% 1085/com.example.friendapp: 80% user + 0% kernel / faults: 3 minor 01-13 18:40:14.473: ERROR/ActivityManager(69): 77% 1085/bile.friendapp: 77% user + 0% kernel 01-13 18:40:14.473: ERROR/ActivityManager(69): 16% 69/system_server: 4.8% user + 11% kernel 01-13 18:40:14.473: ERROR/ActivityManager(69): 14% 101/InputDispatcher: 3.2% user + 11% kernel 01-13 18:40:14.473: ERROR/ActivityManager(69): 1.6% 70/HeapWorker: 1.6% user + 0% kernel 01-13 18:40:14.473: ERROR/ActivityManager(69): 0.5% 133/com.安卓.launcher: 0% user + 0.5% kernel 01-13 18:40:14.473: ERROR/ActivityManager(69): 0.5% 134/HeapWorker: 0% user + 0.5% kernel 01-13 18:40:14.473: ERROR/ActivityManager(69): 0.6% 980/com.安卓.quicksearchbox: 0% user + 0.6% kernel 01-13 18:40:14.473: ERROR/ActivityManager(69): 1.3% 981/HeapWorker: 0% user + 1.3% kernel 01-13 18:40:14.473: ERROR/ActivityManager(69): 100% TOTAL: 80% user + 19% kernel 01-13 18:40:20.702: ERROR/InputDispatcher(69): channel '406f88b8 com.example.friendapp/com.example.friendapp.FriendMaps (server)' ~ Consumer closed input channel or an error occurred. events=0x8 01-13 18:40:20.712: ERROR/InputDispatcher(69): channel '406f88b8 com.example.friendapp/com.example.friendapp.FriendMaps (server)' ~ Channel is unrecoverably broken and will be disposed!


共 (1) 个答案

  1. # 1 楼答案

    您将向地图添加相同的覆盖150次。请只添加一次