为了账号安全,请及时绑定邮箱和手机立即绑定

如何让覆盖物全部显示到屏幕上?

如何让覆盖物全部显示到屏幕上?

因为有时显示的位置和覆盖位置比较远。这个时候,只能主动缩放或者移动地图。有代码实现的方式吗?



正在回答

1 回答


private void addOverLays(List<info> infos) {

mBaiduMap.clear();

LatLng latLng = null;// 设置一个经纬度对象

Marker marker = null;// 经纬度和marker都是循环生成的

OverlayOptions options;// 一个marker对应一个options

for (info info : infos) {

// 经纬度

latLng = new LatLng(info.getLatitude(), info.getLongtitude());

// 指定标记的位置和图标还有从纵向上涂层的位置z

options = new MarkerOptions().position(latLng).icon(mMarker)

.zIndex(5);

// 真正的生成了标记,options相当于对marker的配置

marker = (Marker) mBaiduMap.addOverlay(options);

// 通过marker把数据以bundle的形式传输,在传输的过程中必须设置为serializable形式以二进制数据传输

Bundle arg0 = new Bundle();

arg0.putSerializable("info", info);// key,value形式,value为这个info

marker.setExtraInfo(arg0);

}

在你的数据以list形式得到后把你的所有数据for循环出来;至于第二个问题

// 在遍历完所有标记之后地图需要移动到最后一个位置

MapStatusUpdate msu = MapStatusUpdateFactory.newLatLng(latLng);

mBaiduMap.setMapStatus(msu);

在遍历完之后的latLng是最后一个位置的经纬度,只需要把地图指定到这个位置就ok

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
百度地图在Android中的使用
  • 参与学习       38541    人
  • 解答问题       275    个

在Android应用中玩转百度地图,由浅入深的带领大家一步步学习

进入课程

如何让覆盖物全部显示到屏幕上?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信