vue中百度地图切换高德地图总结

news/2024/11/14 16:54:15/文章来源:https://www.cnblogs.com/wutong-211/p/18546361

由于公司不续费百度地图,所以切换高德。。。

一、注册

  • 高德需要这样,先安装@amap/amap-jsapi-loader
 import AMapLoader from "@amap/amap-jsapi-loader";mapInit(point){window._AMapSecurityConfig = {// 安全密钥securityJsCode: "*********",//换成自己的
}
AMapLoader.load({key: "xxxxxxxxxx", // 申请好的Web端开发者Key,首次调用 load 时必填version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15plugins: ["AMap.Geocoder","AMap.IndoorMap",'AMap.PlaceSearch','AMap.AutoComplete'], //需要使用的的插件列表,如比例尺'AMap.Scale',支持添加多个如:['...','...']
}).then((AMap) => {new AMap.Map(this.$refs.allmap, {// 设置地图容器id// viewMode: "3D", // 是否为3D地图模式mapStyle: "amap://styles/darkblue",showIndoorMap: true,zoom: this.zoom || 11,resizeEnable: true,center: new AMap.LngLat(105.000, 38.000), // 初始化地图中心点位置}) 
}
  • 百度需要在html中引入
<script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak="></script>

二、经纬度坐标转成容器像素坐标

new AMap.LngLat(point.lng, point.lat) //高德
new BMap.Point(point.lng, point.lat) //百度

三、标记点

  • 百度
let myIcon = new BMap.Icon(img, new BMap.Size(202, 120), {anchor: new BMap.Size(110, 65),
})
let marker = new BMap.Marker(point, {icon: myIcon});
map.addOverlay(marker);      //打点
  • 高德
let myIcon = new AMap.Icon( {size: new AMap.Size(202, 120),image: img, //Icon 的图像imageOffset: new AMap.Pixel(-1, -1), //图像相对展示区域的偏移量,适于雪碧图等
})
const marker = new AMap.Marker({position: _point, //点标记的位置offset: new AMap.Pixel(-100, -60), //偏移量icon: myIcon, //添加 Icon 实例
})
map.add(marker)

四、跳转到最佳视角

  • 百度数组是坐标点
const pointArr = [new BMap.Point(element.longitude, element.latitude)]
let center = this.map.getViewport(pointArr).center;
this.map.centerAndZoom(center, zoom);
  • 高德数组里是marker对象
 map.setFitView([ startMarker, endMarker, routeLine ])

五、高德、百度坐标系互相转换方法

//百度坐标转高德(传入经度、纬度)
export function bd2gd(bd_lng, bd_lat) {var X_PI = Math.PI * 3000.0 / 180.0;var x = bd_lng - 0.0065;var y = bd_lat - 0.006;var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * X_PI);var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * X_PI);var gg_lng = z * Math.cos(theta);var gg_lat = z * Math.sin(theta);return {lng: gg_lng, lat: gg_lat}
}
//高德坐标转百度(传入经度、纬度)
export function gd2bd(gg_lng, gg_lat) {var X_PI = Math.PI * 3000.0 / 180.0;var x = gg_lng, y = gg_lat;var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * X_PI);var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * X_PI);var bd_lng = z * Math.cos(theta) + 0.0065;var bd_lat = z * Math.sin(theta) + 0.006;return {lat: bd_lat,lng: bd_lng};
}

六、感受

开始以为很麻烦毕竟经纬度不同啊,api不同啊,切换后感觉高德快了不少,整个过程也没有想的那么复杂(主要我们的页面地图功能都很基础);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/833487.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Postman接口测试从入门到精通(二)

十一、Postman批量运行测试用例十二、Postman数据驱动之cSV文件和JSON文件的处理十三、测试必须带请求头的接口常见的请求头:Host 请求的主机地址connection 连接方式Accept 客户端接收到的数据格式 -Requestea-Wih 异步请求 User-Agent 客户端的用户类型 Reterer 来源 …

3路直接输出功能/高抗干扰触控芯片VK3603 ESOP8/3路/3键触摸触控工控触摸检测芯片

产品品牌:永嘉微电/VINKA 产品型号:VK3603 封装形式:ESOP8 概述 VK3603具有3个触摸按键,可用来检测外部触摸按键上人手的触摸动作。该芯片具有较 高的集成度,仅需极少的外部组件便可实现触摸按键的检测。 提供了3路直接输出功能。芯片内部采用特殊的集成电路,具有高电源电…

语音生成模型 PlayDialog:可生成对话播客、旁白;小米 AI 眼镜将于明年 Q2 发布丨 RTE 开发者日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编辑…

Assignment pg walkthrough Easy 通配符提权变种

nmap 扫描 ┌──(root㉿kali)-[~] └─# nmap -p- -A 192.168.157.224 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-14 04:18 UTC Stats: 0:00:53 elapsed; 0 hosts completed (1 up), 1 undergoing Service Scan Service scan Timing: About 66.67% done; ETC: 0…

变量的存储方式和生存期

变量的存储方式和生存期变量的存储方式和生存期 动态存储方式与静态存储方式 从变量的作用域(即从空间)的角度来观察,变量可以分为全局变量和局部变量 从变量存在的时间(即生存期)来观察:有的变量在程序运行的整个过程都是存在的,而有的变量则是在调用其所在的函数时才临…

Whalestudio助力西南某商业银行数据中台建设 | 实践探索

在数字化转型的浪潮下,银行业对数据的依赖日益加深。为提升数据管理和应用水平,西南某城商行于2022年启动了数据中台建设,采用创新技术手段优化其数据服务体系。 本文将深入探讨该行如何借助Whalestudio平台构建数据中台,以及在实际应用中取得的显著成效。 从需求到选择:数…

详解漏斗模型及如何通过行为设计提升转化率

详解漏斗模型及如何通过行为设计提升转化率 | 人人都是产品经理 https://www.woshipm.com/pd/1695380.html 详解漏斗模型及如何通过行为设计提升转化率2018-12-05 3 评论63515 浏览267 收藏12 分钟 漏斗模型,是一种数据分析方式,是一个线性流程,更是一种普遍适用的方法论,或…

【FMC155A】基于VITA57.1标准的2路500MSPS/1GSPS/1.25GSPS 14位AD采集FMC子卡模块(交流耦合)

​板卡概述 FMC155A是一款基于VITA57.1标准的,实现2路14-bit、500MSPS/1GSPS/1.25GSPS 采样率交流耦合ADC同步采集FMC子卡模块。该模块遵循VITA57.1规范,可直接与FPGA载卡配合使用,板卡ADC器件采用ADI的AD9680芯片,该芯片具有两个模拟输入通道和两个JESD204B输出数据通道对…

在华为开发者空间,简单几步带你实现AI风格化编程

通过调用ModelArts上的动漫头像制作应用,将头像图片转化为动漫风格的头像图片。本文分享自华为云社区《【开发者空间实践指导】基于FunctionGraph的AI风格化编程》,作者:开发者空间小蜜蜂。 一、 案例介绍 本实验基于FunctionGraph和ModelArts的智能头像动漫化处理应用。通过…

皮带跑偏识别智慧矿山一体机皮带运行状态识别如何与EasyCVR平台搭建煤矿矿井安全监控系统?

在煤矿行业,安全始终是最为关键的议题。随着智能化技术的发展,智慧矿山一体机与EasyCVR平台的结合为煤矿矿井安全监控系统提供了一种全新的解决方案。这种集成化的系统不仅能够实现对煤矿生产过程的实时监控和管理,还能提高矿山的安全性和生产效率,同时降低人工巡检的成本和…

vmstat的使用

1.用法 vmstat [-a] [-n] [-S unit] [delay [ count]] vmstat [-s] [-n] [-S unit] vmstat [-m] [-n] [delay [ count]] vmstat [-d] [-n] [delay [ count]] vmstat [-p disk partition] [-n] [delay [ count]] vmstat [-f] vmstat [-V] -a:显示活跃和非活跃内存 -f:显示从系…

PNP和NPN三极管区别

主要区别是电流流向和电压不同:1. PNP管子是发射极流入后从基极和集电极流出,NPN管子是基极和集电极流入从发射极流出。 2. PNP管子工作在放大区时电压是,Ue>Ub>Uc,NPN管子工作在放大区时电压时Uc>Ub>Ue。 3. PNP是共阴极,即两个PN结的N结相连做为基极,…