首先很是感谢你们的阅读(感谢已加粗),这是我人生中第一次写技术文章(之前打字都费劲),本人小white一个(秀一下英语词汇量),技术不咋地,就是爱分享,动不动还来个原创,你说气人不~ 闲话少说,进入主题!!!php
最近在作一个基于vue的设备管理系统,其中有一个需求:须要把设备所在地的地址采用红点标记定位在百度地图上(相似于摩拜单车app附近的车标记)。我采用了vue-baidu-Map插件(原生百度地图api的二次封装),可是插件里的红点标记须要用到经纬度值。那么问题来了(配音:来了来了真的来了~)
如何把设备所在地转换成经纬度值???
1.百度API文档---地址解析
等到三根头发落地以后,找到了一个好用的地理解析API文档css
首先用浏览器在地址栏访访问一下,结果成功返回经纬度值(用脚趾给本身比个心),对了,这个ak须要本身去申请(不要钱,别怕),以后我用axios进行请求,结果出现了跨域问题!html
2.如何解决跨域?
在开发环境中我使用了proxyTable代理解决跨域(见下图),原理是经过webpack设置在node服务器实现了反向代理(原理这句话不知道说的对不对,还请你们纠正~)
可是项目最终npm run build打包上线事后就变成了单纯的js、html、css文件了(单页面SPA),由于proxyTable代理要依靠脚手架中node环境所支持,所以proxyTable方法在生产环境中仍是会跨域(开发环境中无敌),不过也没事,由于在线上遇到跨域问题主要仍是靠后端解决! 可是往下瞅 (瞅就是看,顺便教你们点儿东北话,双语教学~)vue
3.依靠百度地图api文档提供的参数,经过jsonp最终解决开发/生产环境的跨域问题
a、在vue项目中引入jsonp
b.参考官方文档,写出以下代码
c.最终没有跨域问题,而且成功接收百度返回的数据node
以上就是我为你们带来的分享,由于并非很难的问题,并且上面也总结的很清晰了,因此我就再也不作最后总结了(唠叨、墨迹),很是感谢你们耐心看完(感谢继续加粗)
我的微信 往下瞅! 你瞅啥,瞅你咋地,再瞅一个试试,试试就试试webpack
欢迎你们之后一块儿交流与学习~ 打卡下班ios