/**
* 通过坐标集合,显示并缩放到所有点
* @param mPoints
* @param mBaiDuMap
*/
public static void LocationAll(Map<Integer,MPoint> mPoints, final BaiduMap mBaiDuMap){
final List<OverlayOptions> overlayOptions = new ArrayList<OverlayOptions>();
//管理多个覆盖物
final OverlayManager overlayManager = new OverlayManager(mBaiDuMap) {
@Override
public List<OverlayOptions> getOverlayOptions() {
return overlayOptions;
}
@Override
public boolean onMarkerClick(Marker marker) {
return true;
}
@Override
public boolean onPolylineClick(Polyline polyline) {
return true;
}
};
if(mPoints != null && mBaiDuMap != null) {
mBaiDuMap.clear();
Collection<MPoint> pointCollection = mPoints.values();
for (MPoint point : pointCollection) {
double mLatitude = point.getLatitude();
double mLongitude = point.getLongitude();
LatLng mPoint = new LatLng(mLatitude, mLongitude);
MarkerOptions oA = new MarkerOptions().position(mPoint).icon(bdA);
overlayOptions.add(oA);
}
overlayManager.addToMap();
overlayManager.zoomToSpan(); //仅对mark起作用
}
}
这是我写的代码,为什么手机上显示不出全部的覆盖物,要手动放大才能显示
class MyPoiOverlay extends PoiOverlay {
public MyPoiOverlay(BaiduMap arg0) {
super(arg0);
}
@Override
public boolean onPoiClick(int arg0) {
super.onPoiClick(arg0);
return true;
}
}
MyPoiOverlay poiOverlay = new MyPoiOverlay(bdMap);
poiOverlay.setData(poiResult);// 设置POI数据
bdMap.setOnMarkerClickListener(poiOverlay);
poiOverlay.addToMap();// 将所有的overlay添加到地图上
poiOverlay.zoomToSpan();
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。