Android 高德地图 动态刷新加载多Mark点,会出现图片加载不出来 10C

用的高德地图,
就像滴滴打车一样,地图上显示多个车辆,这多个车辆是每隔几秒实时动态刷新一次,图片加载的资源文件图片,但是会出现有的mark点图片加载不出来的情况,这是怎么回事呢,
我是把请求的网络数据放在List中,然后循环List,每循环一次就 重新new 一个 MarkerOptions(),然后 addMarker(),会出现有的mark点图片加载不出来,这种方式哪里需要改动吗

2个回答

Marker图片资源写成static 不用每次去新建

把你循环添加marker的代码粘贴一下,因为是本地图片所以不会出现图片加载的问题,那问题只能是代码中的问题,我说个方向(经纬度的问题)
楼主可以往这方面排查下,应该就是这问题。

qq_36159785
小七的笔记 每隔几秒就会请求一次数据,获取所有位置的经纬度,然后重新加载所有的mark图标,这些代码是放在handler下的for循环中的
一年多之前 回复
qq_36159785
小七的笔记 SmoothMarker smoothMarker = new SmoothMarker(aMap); smoothMarker.setDescriptor(BitmapDescriptorFactory.fromResource(R.drawable.car4_img)); List<LatLng> points = new ArrayList<>(); points.add(latLng1); if (latLng2 != latLng1) { points.add(latLng2); } Pair<Integer, LatLng> pair = PointsUtil.calShortestDistancePoint(points, latLng1); points.set(pair.first, latLng1); smoothMarker.setPoints(points); smoothMarker.setTotalDuration(10); smoothMarker.startSmoothMove();
一年多之前 回复
qq_36159785
小七的笔记 SmoothMarker smoothMarker = new SmoothMarker(aMap); smoothMarker.setDescriptor(BitmapDescriptorFactory.fromResource(R.drawable.car4_img)); List<LatLng> points = new ArrayList<>(); points.add(latLng1); if (latLng2 != latLng1) { points.add(latLng2); } Pair<Integer, LatLng> pair = PointsUtil.calShortestDistancePoint(points, latLng1); points.set(pair.first, latLng1); smoothMarker.setPoints(points); smoothMarker.setTotalDuration(10); smoothMarker.startSmoothMove();
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐