校验https

这个坑是真的让我很难受的,在小程序的开发者工具里面,是不自动检验的,一定一定要把这个√给去掉,因为测试版本确实不检验https但是正式版本的都需要检验,所以一定要用https

定位

使用uni-app定位时需要引入小程序的js(qqmap-wx-jssdk.js)我用的是腾讯的api文档

使用小程序自带的uni.getLocatio定位到的城市是拼音的,我们需要的是中文的,就需要转换一下
在这里插入图片描述
key就是你去腾讯地图平台里申请的key,这里就可以将经纬度转换成对应的城市信息

有具体的地址得到经纬度

var QQMapWX = require('../../common/qqmap-wx-jssdk.js');
var qqmapsdk;
onLoad(option) {
			qqmapsdk = new QQMapWX({
			   key: 'AHTBZ-X6GKW-RPSRU-RDO42-ZY2OV-3MFOT'
			});
		},
method:{
	getLoaction(){
	qqmapsdk.geocoder({
					address: '浙江省杭州市滨江区网易公司',
					success: function(res) {
					var res = res.result
					 var latitude = res.location.lat;
					 var longitude = res.location.lng;
					 that.obj.latitude = latitude
					 that.obj.longitude = longitude
					 if(that.isEmpty(latitude)){
						 that.toast('请正确填写地址')
						 return;
					 }
					}
				});
	}
}

深拷贝

我们平常用的深拷贝大多都是JSON.parse(JSON.stringify())但是我因为解决的这个是个对象的深拷贝,对象里面还有一层对象,就这种是解决不了了,只能使用递归的深拷贝方法

copy(obj){
				var newobj = obj.constructor === Array ? [] : {};
				if(typeof obj !== 'object'){
					return;
				}
				for(var i in obj){
				   newobj[i] = typeof obj[i] === 'object' ? this.copy(obj[i]) : obj[i];
				}
				return newobj
			},

这个方法就完美解决了

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐