vue前端如何调用百度地图获取地点坐标

这个问题再次记录下,其实难度不是很大,我主要把时间浪费在找相应的接口,试了几个都不好用,其实都是官方之前的接口,现在不支持了。这里我先给大家直接把接口亮出来:
百度地图接口
具体步骤如下:

一、首先是申请key

https://blog.csdn.net/rrrrroy_Ha/article/details/89374211
大家可以参考这篇文章,内容比较简单,不再过多的赘述。当然直接看官方文档最靠谱了。

二、前端调用在线服务。vue框架。

首当其冲的一个问题就是跨域问题;
报错如下所示:

Access to XMLHttpRequest at 'http://api.map.baidu.com/geocoding/v3/?address=null&output=json&ak=A0hEsAOutsHG4MKstku1GCEEDLbX1yAi&callback=showLocation' from origin 'http://localhost:8090' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

一张图解决问题
在这里插入图片描述
简单解释下:target是需要填写你访问链接的地址,到域名处截止。
pathRewrite写域名后面那个单词,类似图上配置。
具体本质原因感觉还是得学webpack。
如何用呢?
在这里插入图片描述
编程这样就可以,直接把前面的地址去掉,下图是没有配置前的写法:
在这里插入图片描述
参考文档:添加链接描述

三、注意事项:

请求报错:message::APP Referer校验失败

百度地图中申请密钥时Referer白名单写什么?
参考文档:APP Referer校验失败

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
悟空CRM采用全新的前后端分离模式,本仓库代码中已集成前端vue打包后文件,可免去打包操作 如需调整前端代码,请单独下载前端代码,前端代码在根目录的ux文件夹中 主要技术栈 后端框架:ThinkPHP 5.0.2 前端MVVM框架:Vue.JS 2.5.x 路由:Vue-Router 3.x 数据交互:Axios UI框架:Element-UI 2.6.3 悟空crm9.0的运行环境要求PHP5.6以上 一键安装 代码中已集成前端vue打包后文件,可免去打包操作: 以本地(phpstudy集成环境)搭建举例: 下载悟空CRM9.0开源版,在服务器根目录(www目录)下创建72crm文件夹,并放置代码; 浏览器访问 http://localhost/72crm/index.php/admin/install/index.html 根据安装提示步骤,完成悟空CRM9.0 的部署安装 开发依赖(需个性化安装或调整前端代码请按照以下教程,一键安装用户可忽略) 数据交互 数据交互通过axios以及RESTful架构来实现 用户校验通过登录返回的auth_key放在header 值得注意的一点是:跨域的情况下,会有预请求OPTION的情况 Server搭建 服务端使用的框架为thinkphp5.0.2,搭建前请确保拥有lamp/lnmp/wamp环境。 这里所说的搭建其实就是把server框架放入WEB运行环境,并使用80端口。 导入服务端根文件夹数据库文件public/sql/5kcrm.sql,并修改config/database.php配置文件。 配置要求 PHP >= 5.6.0 (暂不支持PHP7及以上版本) 当访问 http://localhost/, 出现“悟空软件”即代表后端接口搭建成功。 前端部署 安装node.js 前端部分是基于node.js上运行的,所以必须先安装node.js,版本要求为6.0以上 使用npm安装依赖 下载悟空CRM9.0前端代码; 可将代码放置在后端同级目录frontend,执行命令安装依赖: npm install 修改内部配置 修改请求地址或域名:config/dev.env.js里修改BASE_API(开发环境服务端地址,默认localhost) 修改自定义端口:config/index.js里面的dev对象的port参数(默认8080,不建议修改) 运行前端 npm run dev 注意:前端服务启动,默认会占用8080端口,所以在启动前端服务之前,请确认8080端口没有被占用。 程序运行之前需搭建好Server端
对于Vue 3调用百度地图覆盖物点的更新,您可以按照以下步骤进行操作: 1. 首先,确保您已经在Vue项目中引入百度地图的API,并且可以成功加载地图。 2. 在Vue组件中,可以使用`mounted`生命周期钩子函数来初始化地图并创建覆盖物点。例如: ```javascript mounted() { this.initMap(); this.createOverlay(); } ``` 3. 在`data`中定义地图对象和覆盖物点对象。例如: ```javascript data() { return { map: null, marker: null }; } ``` 4. 在`methods`中编写初始化地图和创建覆盖物点的方法。例如: ```javascript methods: { initMap() { this.map = new BMap.Map("mapContainer"); // "mapContainer"是包含地图的HTML元素的ID this.map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 设置地图中心点和缩放级别 }, createOverlay() { const point = new BMap.Point(116.404, 39.915); // 覆盖物点的经纬度 this.marker = new BMap.Marker(point); // 创建覆盖物点对象 this.map.addOverlay(this.marker); // 添加覆盖物点到地图上 } } ``` 5. 如果需要更新覆盖物点的位置,可以在需要的时候调用更新方法。例如: ```javascript updateOverlay() { const newPoint = new BMap.Point(116.418, 39.925); // 新的覆盖物点的经纬度 this.marker.setPosition(newPoint); // 更新覆盖物点的位置 } ``` 6. 在Vue模板中使用地图容器和调用更新方法的按钮。例如: ```html <template> <div> <div id="mapContainer" style="width: 100%; height: 400px;"></div> <button @click="updateOverlay">更新覆盖物点</button> </div> </template> ``` 通过以上步骤,您就可以在Vue 3中调用百度地图的API,并成功更新覆盖物点的位置。请注意,上述代码仅作为示例,具体实现可能根据您的需求而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值