uni-app desarrolla el posicionamiento del applet de WeChat

Use el método onLocationChange para monitorear continuamente la dirección y decidir si usar la latitud y la longitud de este posicionamiento de acuerdo con el campo de precisión de posicionamiento.

7. Adquisición relativamente precisa de direcciones  de latitud y longitud

1. Registre una cuenta

Solo ingresa la información

Servicios de ubicación de Tencent: basados ​​en la ecología, conectando con el futuro

2. Crear aplicación y clave

1. Ingresa a la consola

2. Crea una aplicación

 3. Crear clave

Habilite el producto, verifique WebServiceAPI y el subprograma WeChat, y complete la información correspondiente.

 3. Inicie sesión en el backstage de la plataforma pública de WeChat

Agregar solicitud de nombre de dominio legal: https://apis.map.qq.com

 Gestión de desarrollo - Configuración de desarrollo - Nombre de dominio del servidor - Modificar

 4. Descargue el SDK de JavaScript del subprograma WeChat

Después de descargarlo, póngalo en su propio proyecto.

WeChat Mini Programa JavaScript SDK | Servicios de ubicación de Tencent

Cinco, implementación de código

var QQMap = require('../../js_sdk/qqmap-wx-jssdk.min.js') // SDK放置的路径
var qqmapsdk = new QQMap({
	key: '**************' // 自己的Key
});

6. En general, obtenga la dirección de latitud y longitud.

En lugares más prósperos, esto suele ser suficiente.

wx.getLocation({
	type: 'wgs84',
	success: res => {
		console.log(res); //获取到经纬度值
		qqmapsdk.reverseGeocoder({ // 根据经纬度转化为地址
			location: {
				latitude: res.latitude,
				longitude: res.longitude
			},
			success: res => {
				console.log(res);								
			}
		})
	}
});

7. Adquisición relativamente precisa de direcciones de latitud y longitud

1. Obtenga permiso para monitorear la ubicación

uni.authorize({
	scope: 'scope.userLocation',
	success(res) {
		console.log(res);
	}
})

2. Activa el monitoreo de ubicación

wx.startLocationUpdate({
	success: res => {
		console.log(res);
	},
	fail: res => {
		console.log(res);
		//在这里处理开启失败的业务逻辑
	}
})

3. Supervise los cambios de ubicación geográfica en tiempo real

let index = 0;
const _locationChangeFn = function(res) {
	console.log('location change', res)
	index++;
	
	//res.accuracy 代表定位精度, 这里根据定位精度和定位次数进行一个综合判断,根据用户在当前页面的停留时间进行相应的修改
	if (index > 10 || (res.accuracy < 35 && index > 5)) {


		wx.offLocationChange();
		wx.stopLocationUpdate();

		qqmapsdk.reverseGeocoder({// 根据经纬度转化为地址
			location: {
				//纬度
				latitude: res.latitude,
				//经度
				longitude: res.longitude
			},
			success: function(res1) {
				console.log(res1.result);
				
			},
			fail: function(res1) {
				console.log(res1);
			}
		})
	}

}

//监听实时地理位置变化事件
wx.onLocationChange(_locationChangeFn)

Las direcciones ubicadas de esta manera pueden ser similares, pero la latitud y la longitud son más precisas que las que se obtienen directamente con getLocation.

Supongo que te gusta

Origin blog.csdn.net/qq_18676843/article/details/124043402
Recomendado
Clasificación