uniapp|uniapp App端高德地图选址
首先,uni.chooseLocation,这是个什么玩意,不是原生的方法,原生地图覆盖了这个地图,正式打包之后也不能用,于是乎,我想到了webview嵌入h5
因为高德地图和腾讯地图引入iframe打包后不能获取具体位置,设置backurl参数(腾讯地图)也不太好用,打包之后返回不了,但是重点来了,聪明的我发现他们都有一个共同特点,都可以指定附近位置选择,腾讯的是coord参数,高德的是center,我的思路既然不能精确定位,那就先提前获取位置,然后把经纬度传到iframe的src里,这样就弥补了这个缺点,废话不多说上干货。。。
h5目录
文章图片
image 页面A是要获取位置的页面,然后我们就在这个页面先获取经纬度,然后传到h5页面
文章图片
image A页面data
文章图片
image methods里先获取经纬度然后在onLoad执行下,然后把获取的经纬度传到B页面(注意:高德地图获取经纬度首先要在去高德地图申请安卓的appkey,然后在mainfest.json勾选相应配置,具体这里不多说了)
//高德地图获取经纬度
getLocation() {
let _this = this;
uni.getLocation({
type: 'gcj02',
geocode: true,
success: function(res) {
console.log('当前位置的经度:' + res.longitude);
console.log('当前位置的纬度:' + res.latitude);
let aa = res.longitude + "," + res.latitude;
_this.url += encodeURIComponent(aa)
},
fail: function(res) {
uni.showToast({
title: '获取地址失败,请检查设备是否允许定位 ',
icon: 'none'
});
_this.loadModal = false;
},});
},
B页面来了,
待开发,暂无地图选择!!!
C页面(h5页面)来了,
选取位置 - 锐客网 body{
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: 0;
}
iframe{
width: 100%;
height: 100%;
}
A页面接收B页面返回的经纬度城市信息,
onLoad(options) {
// 进入A页面主动获取经纬度,然后传到h5 ifrem里
this.getLocation();
// 页面通讯
let _this = this;
uni.$on("onAddressChange", function(info) {
console.log("购物车 <- 收到:", info)
// alert("购物车 <- 收到" + info)
_this.selectArea = info.name;
_this.longitude = info.location.substring(0, 10);
_this.latitude = info.location.substring(11, 20);
console.log("_this.longitude:", info.longitude)
console.log("_this.latitude:", _this.latitude)
_this.getAreaInfo();
});
},
【uniapp|uniapp App端高德地图选址】over!over!over!
你觉得有用就点个赞再走吧!!!
推荐阅读
- 宽容谁
- 讲述,美丽聪明的海欧!
- 夜游宫|夜游宫 心语
- 画画吗()
- 图书集合完毕
- 如何寻找情感问答App的分析切入点
- 即将到手三百万
- 7.9号工作总结~司硕
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 眉头开了