需求:
使用百度地图添加覆盖物,方法addOverlay,接口返回覆盖物列表,每一个覆盖物需要的图片还有文字都由接口决定,覆盖物点击需要对应跳转。
MarkerOptions markerOptions = new MarkerOptions()
.position(latLng)
.icon(BitmapDescriptorFactory.fromView(view));
marker = (Marker) mBaiduMap.addOverlay(markerOptions);
Bundle bundle = new Bundle();
bundle.putString("strShipInfo", strShipInfo);
marker.setExtraInfo(bundle);
问题描述:
当循环添加次数过多时,大概100个就会出现无响应;耗时太久。
解决方案:
使用handler机制,循环时延迟加载覆盖物请求
for (int i=0;i<groupListAreaShipsBean.size();i++){
Message message=new Message();
message.what=1;
message.obj=groupListAreaShipsBean.get(i);
handler.sendMessageDelayed(message,i*100);
}
在需要停止的地方直接
handler.removeMessages(1);停止handler发送消息。