vue3调用百度地图标注选择位置并获取经纬度

参考了很多文章,最终结合百度文档各有采取完成地图选取经纬度。

  • 第一步:引入百度地图,在当前需要地图的页面引入就行。

    const loadMapScript = () => {// 此处在所需页面引入资源就是,不用再public/index.html中引入var script = document.createElement("script");script.type = "text/javascript";script.className = "map"; // 给script一个类名script.src ="https://api.map.baidu.com/getscript?v=3.0&ak=你的ak";// 此处需要注意:申请ak时,一定要应用类别一定要选浏览器端,不能选服务端,不然地图会报ak无效script.onload = () => {// 使用script.onload,待资源加载完成,再初始化地图init();};let mapDom= document.getElementsByClassName("map");if (mapDom) {// 每次append script之前判断一下,避免重复添加script资源标签for (var i = 0; i < mapDom.length; i++) {document.body.removeChild(mapDom[i]);}}document.body.appendChild(script);
    };
    

    在页面加载完成后执行

    onmounted(()=>{loadMapScript()
    })
    
  • 第二步,初始化地图
     const init = () => {let Bmap = window.BMap; // 注意要带window,不然会报错(注意官方api,会有改动,之前是Bmap,后面3.0版本改为了BMap,最好查文档或者打印一下window)var map = new Bmap.Map("localtion-box"); // allmap必须和dom上的id一直var cityCtrl = new Bmap.CityListControl();  // 添加城市列表控件map.addControl(cityCtrl);map.centerAndZoom(new Bmap.Point(state.point.lng, state.point.lat),13); // 初始化地图,设置中心点坐标和地图级别map.setCurrentCity("成都");map.enableScrollWheelZoom(true);var geoc = new Bmap.Geocoder();var markervar labelvar point = new Bmap.Point(state.point.lng, state.point.lat)marker = new Bmap.Marker(point);// 创建标注geoc.getLocation(point, function (rs) {label = new Bmap.Label(`${rs.address},经度:${state.point.lng},纬度:${state.point.lat}`, {       // 创建文本标注position: state.point,                       offset: new Bmap.Size(10, -20)         })map.addOverlay(label);map.addOverlay(marker);})map.addEventListener('click', function (e) {if (marker) {map.removeOverlay(marker);}if (label) {map.removeOverlay(label);}point = new Bmap.Point(e.point.lng, e.point.lat);marker = new Bmap.Marker(point);// 创建标注geoc.getLocation(point, function (rs) {label = new Bmap.Label(`${rs.address},经度:${e.point.lng},纬度:${e.point.lat}`, {       // 创建文本标注position: point,                          // 设置标注的地理位置offset: new Bmap.Size(10, -20)           // 设置标注的偏移量})map.addOverlay(label);})map.addOverlay(marker);state.point = point});};
  • 第三步,设置初始值
const state=reactive({point: { lng: 104.04263635868074, lat: 30.556100647961866 }
})

最后完成,其他配置参考百度地图文档

vue3调用百度地图标注选择位置并获取经纬度相关推荐

  1. C#调用百度地图API,根据地名获取经纬度geocoding

    前言 公司的一个内部网站维护,需要根据地名填写经纬度,最终同echarts生成地图. 之前数据比较少,直接经纬度查询查的,https://jingweidu.bmcx.com/ 现在数据越来越多,手动 ...

  2. java调用百度地图API依据地理位置中文获取经纬度

    百度地图api提供了非常多地图相关的免费接口,有利于地理位置相关的开发,百度地图api首页:http://developer.baidu.com/map/. 博主使用过依据地理依据地理位置中文获取经纬 ...

  3. Java调用高德地图API根据详细地址获取经纬度

    Java调用高德地图API根据详细地址获取经纬度 官方API:https://lbs.amap.com/api/webservice/guide/api/georegeo * Web服务API 地理/ ...

  4. Flutter 调用百度地图APP实现位置搜索、路线规划

    志在巅峰的攀登者,不会陶醉在沿途的某个脚印之中,在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天.每周,都会留下一些脚印,就是这些创作的 ...

  5. 使用百度地图api根据网吧名称获取经纬度信息

    http://lbs.baidu.com/index.php?title=webapi/guide/webservice-geocoding 1.到百度地图获取请求连接 地理编码 http://api ...

  6. c语言api获取百度地图,H5调用百度地图API获取地理位置

    //获取当前位置 var geolocation = new BMap.Geolocation(); geolocation.getCurrentPosition(function(r){ alert ...

  7. php调用百度接口获取经纬度,利用百度API(js),通过地址获取经纬度的注意事项...

    网上给的很多答案都是这种: http://api.map.baidu.com/geocoder?address=地址&output=输出格式类型&key=用户密钥&city=城 ...

  8. 调用百度地图Api,定位到大西洋的问题

    调用百度地图标注点的时候,一直都定位到大西洋,开始以为是经纬度标注的不对, 后来对比以前的调用 1 var map = new BMap.Map("map"); // 创建Map实 ...

  9. HTML调用百度地图API,实现地图标注位置

    HTML调用百度地图API,实现地图标注位置 一.说明 二.代码 总结 提示:以下是本篇文章正文内容,下面案例可供参考 一.说明 通过HTML调用百度地图API,在指定位置显示出地图,并且在目标位置标 ...

最新文章

  1. mysql+存储过程+删除重复数据_mysql 存储过程 删除重复
  2. python svm超参数_grid search 超参数寻优
  3. 利用libevent 和线程池实现高并发服务器的设计
  4. ASP.NET中移除全部缓存
  5. 【智能泊车】基于MATLAB的智能泊车算法的仿真
  6. 当电桥为恒流源时惠斯通电桥电压的计算方法
  7. 22考生这些院校计算机专业改考408
  8. 修改 mybatis-generator 中数据库类型和 Java 类型的映射关系
  9. 2019全球编程语言高薪排行榜登场;余承东正式宣布华为IFA2019 或发布麒麟990;OPPO、vivo和小米成立互传联盟…...
  10. Java集合系列---ConcurrentHashMap源码解析
  11. jenkins pipeline之如何创建一个流水线
  12. SAP License:一句话让你明白FICO
  13. Sencha Cmd 6 和 Ext JS 6 指南文档(部分官方文档中文翻译)
  14. Android零散技术点
  15. 图片格式转换器ico_Pixillion——图片格式转换工具
  16. 丁香园 (http://www.dxy.cn)这个名字听着
  17. html在线比对工具,在线文本对比工具(mergely示例)
  18. 开启memcached日志
  19. 计算机专业技能考核方案,计算机专业技能课教学目标考核方案.doc
  20. 免费开源PHP商城系统介绍

热门文章

  1. java下发命令nbiot,NB物联网之天翼物联(3)——编解码插件上传规则细解(java开发物联网)...
  2. 游戏建模三大软件:3Dmax、Maya、zbrush 应该如何学才好?
  3. 关于对CC系列知识共享许可证【CC BY-SA 4.0】 的理解及整理
  4. QCustomplot笔记(二)之QCustomplot 坐标轴属性设置
  5. 有谁见过八股文的天花板?阿里P8看了也晒干了沉默
  6. Android商城开发系列
  7. Ansoft Links v4.2.7z
  8. 字道-最美中国字|如何练好硬笔书法?有什么诀窍?
  9. 2-meshing-网格划分-一
  10. 12306余票及票价查询