百度地图多个兴趣点(经纬度、坐标点)需要同时显示在地图上,如何设置自动缩放等级

Android 百度轨迹,多点实现自动缩放! 代码: public class BaiduTrajectoryActivity extends AppCompatActivity implements View.OnClickListener { private static final String TAG = "BaiduTrajectoryActivity"; private RelativeLayout mTitl 阅读详情

如果有多个兴趣点(经纬度、坐标点)需要同时显示在地图上,如何设置缩放比例。如果缩放太细,那么一个屏幕放不下,如果缩放太粗,显示就太密集。需要在程序中根据点的分布来设置。

百度地图Android SDK v3.5.0从3.5版本开始,它的缩放级别从3-20,总共18个级别,如下:

{"10m", "20m", "50m", "100m", "200m", "500m", "1km", "2km", "5km", "10km", "20km", "25km", "50km", "100km", "200km", "500km", "1000km", "2000km"} 
Level依次为:20、19、18、17、16、15、14、13、12、11、10、9、8、7、6、5、4、3

我们可以先计算出两个点之间的距离,从而判断设置其Level。

因为我需要显示很多点,因此计算出了经纬度的范围,然后计算出最长的距离,这个距离就是在同一个屏幕上需要显示的长度。我比划了一下手机上的百度地图,宽度差不多是单位长度的8.5倍,简单起见就当成9倍。比如计算出来的最长的距离是10公里,那么单位长度应该是10/9=1.1公里左右,然后跟缩放比例对比一下,比1000m的缩放级别要广,下一个级别就是2000m。因此就设置2000m的level 13就可以了。

伪代码:

                //经度范围-180到180,纬度范围-90到90,对所有的轨迹中的经纬度进行比较,找到最大和最小的经度,最大和最小的维度
                double minLongitude=180 ,maxLongitude=-180,minlatitude=90,maxlatitude=-90;
 
                    for(LatLng pos:坐标的list){
                        if(minlatitude > pos.latitude) minlatitude=pos.latitude;
                        if(maxlatitude < pos.latitude) maxlatitude = pos.latitude;
                        if(minLongitude > pos.longitude) minLongitude = pos.longitude;
                        if(maxLongitude < pos.longitude) maxLongitude = pos.longitude;
                    }
    
                //对角线的距离,单位m
                double maxdis=DistanceUtil.getDistance(new LatLng(minlatitude,minLongitude),new LatLng(maxlatitude,maxLongitude));

                int [] zoomSize={10, 20, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 25000, 50000, 100000, 200000, 500000, 1000000, 2000000};
                int [] zoomlevel={20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3};
                //将轨迹显示在地图上,正好是标准尺的9倍。
                double mapWidth = maxdis/9;
               int dx=0;
                //找到合适的单位距离,就是稍微大一点的那个单位
                for(int i=0;i<zoomSize.length;i++){
                    if(mapWidth < zoomSize[i]) {
                        dx = i;
                        break;
                    }
                }

                MapStatus.Builder builder = new MapStatus.Builder();
                //地图中心移动到轨迹中间的地方
                builder.target(new LatLng((minlatitude+maxlatitude)/2,(minLongitude+maxLongitude)/2));
                //设置缩放级别
                builder.zoom(zoomlevel[dx]);
                //刷新地图
                mBaiduMap.setMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));

思路参考http://blog.youkuaiyun.com/u013067184/article/details/48471199

百度地图从后台获取实时坐标点以实现车辆实时跟踪 要想实现车辆实时跟踪,就必须实时获取车辆的坐标点,然后展示在百度地图上。而实现实时获取车辆坐标点的功能,有两个方案:方案①定义一个函数getCars(),此函数的功能是通过ajax访问后台接口,从而返回车辆的实时位置信息。然后利用setInterval() 方法,每隔2000毫秒(根据业务需求确定)就调用一次获取车辆实时位置信息的函数; 方案②:定义一个获取车辆实时位置信息的函数getCars 阅读详情

相关推荐

百度地图根据经纬度绘制轨迹

首先上效果图 Html源码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>运输轨迹图</title> <script type="t...

鱿鱼的博客 1万+

微信小程序:map地图自动缩放自适应大小

文档: https://developers.weixin.qq.com/miniprogram/dev/api/media/map/wx.createMapContext.html https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.includePoints.html <map id="map" show-location></map> 实现代码 // 获取地图实例 let Ma

彭世瑜的博客 6884

通过百度地图api实现简单经纬度输入定位(安卓端)

老师居然检查作业了!因为之前做过一点,熬夜做了一下,太久没搞安卓了,感觉之前学的全忘了。 功能演示 老师的要求是实现输入经纬度,在地图中显示该坐标位置信息 实现方法 百度地图api服务 要使用百度地图服务,首先当然要在百度地图开发平台申请账号,然后按步骤在控制台创建应用,获取应用key 注意两个版本SHA1值的获取方法和区别,包名也要与你AS里工程包名一致 按照百度地图开发指南实现AS配置 主要为...

weixin_43873339的博客 6725

爬虫python代码广告_零基础掌握百度地图兴趣点获取POI爬虫(python语言爬取)(代码篇)...

我是怎么想的,在新浪博客里写代码教程。这篇博客的内容同步到了CSND博客中,那里不限制外链,也可以复制代码。http://blog.youkuaiyun.com/sinat_41310868/article/details/78746224好,现在进入高阶代码篇。目的:爬取昆明市中学的兴趣点POI。关键词:中学已有ak:9s5GSYZsWbMaFU8Ps2V2VWvDlDlqGaaO昆明市坐标范围:左下角:2...

weixin_39520393的博客 261

安卓百度地图基本配置及画线路轨迹问题

配置百度地图进行经纬度的定位和画折线图轨迹以及百度地图控件和ScrollView滑动冲突的问题解决。 首先按照百度地图的API把jar包还有主配置文件还有百度key这些基本配置都给加上,确保key值是正确的。 解决百度地图控件和ScrollView滑动冲突问题,上代码: // 解决地图拖动和ScrollView上下滑动冲突问题 View v = mMapView.getChildAt(0

u013351759的博客 1万+

百度地图缩放级别与比例尺的关系

背景 最近做了一个项目,需要用户在缩放百度地图的时候,能根据地图缩放级别以及地图中心坐标,动态更新地图上的标注点(比如根据地图缩放级别以及地图中心坐标动态获取手机屏幕视界范围内的共享单车位置),这时候就需要根据地图中心坐标点以及通过地图缩放级别获取比例尺,来计算手机屏幕视界的经纬度范围,从而获取当前范围内的共享单车位置 百度地图缩放级别与比例尺对应数值 百度地图缩放级别从19~1,共分为19级,级别越大,范围越小: [19级,18级,17级,16级,15级,14级,13级,12级,11级,10级,9级,8级

博哥的二进制世界 1万+

根据多个坐标点计算缩放地图的级别

直接上代码/** * 根据经纬极值计算绽放级别 */ private float getZoom (List points) { double maxLng = points.get(0).longitude; double minLng = points.get(0).longitude; double maxLat = points.get(0).latitude;

小乌笨笨的博客 3197

百度地图定位后获取周边兴趣点

这个工程是利用百度地图最新的API 写的,定位后异步获取周边的兴趣点。

调用百度地图接口,在地图上添加标记并点击显示具体信息

对于在想实现地图功能时,百度地图和高德地图都提供了很好的API接口,直接进入官网查找相应的开发文档即可。 我这里使用的是百度地图,首先你得申请一个百度的密钥,这个很简单,网上很多教程。 货不多说,下面看代码 <!DOCTYPE html> <html xmlns:asp=""> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <met

weixin_43857576的博客 3690

自定义百度地图放大和缩小功能

简单的百度地图,并实现了自定义地图放大和缩小的功能。用户下载下来之后,只需要更换包名,并生成自己的AK,替换成自己的AK,即可完美运行。

百度地图定位并检索出周围的兴趣点进行路线规划

初次学习使用百度地图,并做出来的成果,希望对要使用poi检索和驾车路线规划的人有些的帮助

百度地图根据经纬度坐标,显示轨迹

1.html 部分设置存放地图的div,定义id和宽高,并引入百度地图相关JS <div id="baiduMap" style="width:600px;height:600px;"></div> <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的百度地图开发者秘钥"></script> 2.JS部分,初始化的时候我就创造了一个searchTr

qq_36865945的博客 4038

立创开源:基于STM32F103与ADS1256的六维力传感器低成本实现方案

本文详细介绍了一种基于STM32F103微控制器与ADS1256高精度ADC的低成本六维力传感器实现方案。该方案通过3D打印的六梁弹性体结构结合应变片,将多维力信号转换为电信号,并由24位ADC进行高精度采集。文章涵盖了硬件选型、电路设计、嵌入式软件驱动及上位机数据可视化全流程,为机器人、精密测量等领域的爱好者提供了一个可复现的开源实践参考。

weixin_34718952的博客 390

利用百度地图api将excel中的经纬度数据可视化

利用百度地图api将excel中的经纬度数据可视化 因为本人最近在研究2019年研究生数学建模华为杯D题,想将它3个excel文件汽车的经纬度 数据在地图上画出来,找了很多方法在实现。先将它分享给大家,希望对大家有些帮助,觉得有益就给我点个赞吧! 前提条件 要有百度地图api开发的密钥,关于这么申请密钥我就不多述说了,去网上看看教程吧! 我就放一个百度地图首页的地址: http://lbsyun.baidu.com/index.php?title=%E9%A6%96%E9%A1%B5 效果图如下: 代码如

xiaotaoaaron的博客 4970

Polardb训练营-本地部署 PolarDB-X

PolarDB-X是阿里巴巴自主设计研发的高性能云原生分布式数据库产品,为用户提供高吞吐、大存储、低延时、易扩展和超高可用的云时代数据库服务。云原生+MySQL生态PolarDB-X已作为标准云产品在世界范围内的13个地区提供服务。依托云资源和容器化部署能力,PolarDB-X可以在数分钟内完成集群创建和变配,整个过程中用...

yangjunfeng0604的博客 2473

物理与工程中的‘黑话’:Kronecker delta和Levi-Civita符号到底简化了什么?

本文深入解析了物理与工程中常用的Kronecker delta和Levi-Civita符号的简化作用。通过对比传统表示与张量表示,展示了这些符号在向量运算、矩阵迹计算及流体力学模拟中的高效应用,显著提升计算效率和代码可读性。特别适合理论物理和工程数学领域的学习者与从业者。

weixin_27215403的博客 397

百度地图根据经纬度坐标值绘制轨迹

项目需求百度地图根据已知坐标画点线,在这里做个笔记,方便自己查阅! var map = new BMap.Map("map"); var point = new BMap.Point(116.404, 39.915); map.centerAndZoom(point, 15); map.enableScrollWheelZoom(); // 开启鼠标滚轮缩放 map...

森海北屿 ღ 1万+

基于 Cognex VisionPro 的工业级图像匹配技术全解析

通过本文的深度解析,开发者可以系统掌握 Cognex VisionPro 图像匹配技术的核心原理、开发流程、优化策略及工业级应用。实际项目中,需结合具体场景灵活调整参数,综合运用预处理、特征提取和匹配算法,构建稳定可靠的视觉系统。

品质生活,极致编程。 1594

百度地图API开发:大量坐标点进行分组聚合

leaflet具有markersCluster(标点聚合)的插件非常好用,偶然看到百度地图也有标点聚合开源库,尝试一下,先上效果图: 交互版链接:http://guoweish.github.io/raw-map-baidu.html 总结: 1、优点: 百度地图原生的火星坐标系和国内经过偏移的经纬度能完美歪在一起; 网络访问速度比open street map快

郭不耐 {大数据 @ 可视化} 1万+

科研党福音:如何用Zotero+Paper Agent打造你的AI论文速递系统(附详细配置教程)

本文为科研工作者提供了一套利用Zotero和开源工具Paper Agent构建自动化AI论文速递系统的详细教程。该系统能基于用户在Zotero中的文献库智能学习研究兴趣,每日自动从arXiv等平台筛选、下载并深度解读最相关的前沿论文,生成个性化日报,实现从被动接收到主动精准获取的知识工作流重塑。

kite3的博客 514

即插即用!5分钟为你的SNN模型添加频谱注意力(DCT-SA模块实战)

本文介绍了如何为脉冲神经网络(SNN)快速集成即插即用的DCT-SA频谱注意力模块。该模块利用离散余弦变换(DCT)在频率域自适应加权特征,能有效提升模型对纹理、边缘的感知能力,并在CIFAR10-DVS等数据集上实现分类精度提升与脉冲发放率下降。文章以SpikingJelly框架和ResNet19为例,提供了详细的代码实现、集成步骤及参数调优实战指南。

kotlin6android的博客 609

百度地图输入位置,获取坐标点

百度地图输入位置,获取坐标点 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>根据地址查询经纬度</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> ...

qq_26337713的博客 1495

深入MIPI DSI显示技术栈 (三) DSI vs CSI-2:孪生协议的本质差异

MIPI协议中的DSI与CSI-2存在本质差异:DSI为输出导向协议(Host→Display),用于屏幕控制和画面传输;CSI-2为输入导向协议(Sensor→Host),专攻图像采集。二者在包结构、同步机制、物理层优化等方面均有显著区别:DSI支持命令包和BLLP包,CSI-2具备嵌入式数据包;DSI时钟模式以Burst为主,CSI-2支持Continuous模式。典型场景中,二者协同工作(如手机相机预览),需注意时序同步和延迟控制。设计混合系统时,需合理规划虚拟通道和物理层资源,充分发挥这对&quot

GateWorld的博客 2106

百度地图根据经纬度坐标,显示汽车行驶轨迹

继上一篇:百度地图根据经纬度坐标,显示轨迹又进行了些许优化。将固定点为变为汽车行驶轨迹并添加点位。 上一篇链接:https://blog.youkuaiyun.com/qq_36865945/article/details/107356608 将 改为 后台代码没变动,主要为前端JS代码变动: 首先初始化时searchTrackmaps(); 然后对应的 function searchTrackmaps(vehiclePassTime,cphData) { //查询基础数据 $...

qq_36865945的博客 2732

Windows 11 WSL2环境下OpenClaw部署的兼容性问题分析与解决方案研究

本文研究了OpenClaw在Windows 11 WSL2环境下的部署方案。WSL2通过无缝集成Linux与Windows系统,为OpenClaw提供了良好的运行环境,支持GPU加速和跨平台开发。文章详细分析了硬件配置要求(推荐8核CPU/16GB内存/NVMe SSD)、系统选择(Windows 11 Pro+Ubuntu 22.04)以及部署步骤,包括WSL2启用、Linux发行版安装、Python/Node.js/Redis等依赖配置。通过优化.wslconfig文件参数(如内存分

博客 2279

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

百度地图web经纬度标点【保姆教程】

文章目录官方文档运行示例创建自己的地图应用目标功能实现过程部署应用安装nginx修改 nginx 配置文件启动nginx服务远端访问 官方文档 https://lbsyun.baidu.com/jsdemo.htm#SetCitynameCenter 运行示例 随意选择一段示例代码 创建一个 demo.html 文件,将内容粘贴其中。 下载一个 vscode 插件 live server。 下载完成后,右键创建的 html 文件 index.html 点击Open with Live Server。

小威的博客 5423

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

上一篇: 三星tab 8.9 P739安装安卓4的CM ROM
下一篇: Gradle: 错误: -source 1.7 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)
boyStray
博客等级 码龄11年 77粉丝 104原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值