高德地图设置可视区域边界
来源:互联网 发布:网络推广师 编辑:程序博客网 时间:2024/05/20 00:12
刚好项目中涉及到地图的可视区域,这里做一下汇总
1、方法介绍
public LatLngBounds.Builder include(LatLng point)返回一个新的矩形区域。新区域是根据传入的经纬度对原有区域进行最小的扩展。public LatLngBounds(LatLng southwest,LatLng northeast)使用传入的西南角坐标和东北角坐标创建一个矩形区域。
2、示例代码
2.1通过include来设置可视区域
LatLngBounds bounds = new LatLngBounds.Builder() .include(latlng1).include(latlng2).include(latlng3) .include(latlng4).include(latlng5).include(latlng6) .include(latlng7).include(latlng8).include(latlng9) .include(latlng10).build();// 移动地图,所有latlng自适应显示。LatLngBounds与地图边缘10像素的填充区域aMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 10));
2.2通过西南角坐标和东北角坐标来设置可视区域
/** * 已知一点的经纬度和该点到另一点的距离、角度,求另一点的经纬度 * @param distance 千米 * @param latlngA * @param angle 角度 * @return */ public static LatLng getLatlng(float distance, LatLng latlngA, double angle) { return new LatLng(latlngA.latitude + (distance * Math.cos(angle * Math.PI / 180)) / 111, latlngA.longitude + (distance * Math.sin(angle * Math.PI / 180)) / (111 * Math.cos(latlngA.latitude * Math.PI / 180)) ); } float dist = 60; //km float dealDist = dist / Math.sin(45 * Math.PI / 180); //km LatLng center = aMap.getCameraPosition().target; LatLng northeast = getLatlng(dealDist, center, 45); LatLng southwest = getLatlng(dealDist, center, 225); LatLngBounds latLngBounds = new LatLngBounds(southwest, northeast); aMap.moveCamera(CameraUpdateFactory.newLatLngBounds(latLngBounds, 10));
理论上以center为中心、dist为半径画一个圆就能覆盖我们的可视区域,但是LatLngBounds创建的是一个矩形区域。我们需要创建一个下图所示的矩形区域。
本人更加推荐用第二种方法来设置可视区域
0 0
- 高德地图设置可视区域边界
- 可视区域高宽
- Android 高德基础地图定位、设置Marker、可视中心点实现步骤
- 百度地图区域边界显示
- 百度地图根据可视区域显示标注
- Android 高德地图 动态绘制区域
- cocos2d中,设置层的可视区域
- cocos2d 可不可以设置层的可视区域
- 高德地图小区边界获取(2017.05)
- 不在可视区域,重新创建地图,添加标注
- 百度地图api将可视区域定位到当前所在位置
- 高德地图设置地图缩放比例
- JQuery获取浏览器窗口的可视区域高…
- js获取可视区域与body的宽高
- js获取屏幕可视区域宽高兼容写法
- mapabc高德地图区域收缩事件监听
- 滚动显示自定义区域(高德地图)
- 高德地图 画点 画面 控制区域
- Java的反射机制浅谈
- NSURLSession的使用
- 文章标题
- js生成随机数
- java并发编程(十五)--线程间通信中notifyAll造成的早期通知问题
- 高德地图设置可视区域边界
- mysql插入数据
- android 版本更新
- 面向对象(二)
- 图像的Gamma(伽玛)校正的原理及OpenCV代码实现!
- 开发人员常说的CLI是什么
- JFace TreeViewer使用 及内容提供器(IStructuredContentProvider)
- android2.3.4----1.ubuntu12.04 64位编译android2.3.4
- Linux下Rsync+Inotify部署