使用uni-app做小程序的坑

校驗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
			},

這個方法就完美解決了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章