init
This commit is contained in:
200
xhs-mini-demos/api-case/get-location/get-location.js
Normal file
200
xhs-mini-demos/api-case/get-location/get-location.js
Normal file
@@ -0,0 +1,200 @@
|
||||
const __templateJs = require("./templates.js");
|
||||
const __mergePageOptions = require("../../util/mergePageOptions.js");
|
||||
Page(__mergePageOptions({
|
||||
onShareAppMessage() {
|
||||
return {
|
||||
title: '获取位置',
|
||||
path: 'packageAPI/pages/get-location/get-location'
|
||||
};
|
||||
},
|
||||
data: {
|
||||
count: 0,
|
||||
hasLocation: false,
|
||||
altitude: false,
|
||||
isHighAccuracy: false,
|
||||
highAccuracyExpireTime: 0,
|
||||
latitude: 12.1,
|
||||
longitude: 12.1,
|
||||
type: 'wgs84',
|
||||
apiData: {
|
||||
content: '',
|
||||
success: false,
|
||||
fail: false,
|
||||
complete: false
|
||||
},
|
||||
choosedLocation: {
|
||||
name: '',
|
||||
address: '',
|
||||
latitude: '',
|
||||
longitude: ''
|
||||
},
|
||||
getLoaction: {
|
||||
accuracy: '',
|
||||
altitude: '',
|
||||
horizontalAccuracy: '',
|
||||
latitude: '',
|
||||
longitude: '',
|
||||
speed: '',
|
||||
verticalAccuracy: ''
|
||||
}
|
||||
},
|
||||
resetApiData() {
|
||||
this.setData({
|
||||
apiData: {
|
||||
success: false,
|
||||
fail: false,
|
||||
complete: false,
|
||||
content: ''
|
||||
}
|
||||
});
|
||||
},
|
||||
updateApiData(type, content) {
|
||||
const apiData = {
|
||||
...this.data.apiData
|
||||
};
|
||||
apiData[type] = true;
|
||||
apiData.content = content;
|
||||
this.setData({
|
||||
apiData
|
||||
});
|
||||
},
|
||||
getLocation() {
|
||||
this.resetApiData();
|
||||
xhs.getLocation({
|
||||
success: res => {
|
||||
this.setData({
|
||||
getLoaction: res
|
||||
});
|
||||
console.log('getlocation', res);
|
||||
},
|
||||
fail: res => {
|
||||
this.updateApiData('fail', res);
|
||||
},
|
||||
complete: res => {
|
||||
this.updateApiData('complete', res);
|
||||
}
|
||||
});
|
||||
},
|
||||
startLocationUpdate() {
|
||||
this.resetApiData();
|
||||
xhs.startLocationUpdate({
|
||||
success: res => {
|
||||
this.updateApiData('success', res);
|
||||
xhs.showToast({
|
||||
title: '已开启位置服务'
|
||||
});
|
||||
},
|
||||
fail: res => {
|
||||
this.updateApiData('fail', res);
|
||||
},
|
||||
complete: res => {
|
||||
this.updateApiData('complete', res);
|
||||
}
|
||||
});
|
||||
},
|
||||
startLocationUpdateBackground() {
|
||||
this.resetApiData();
|
||||
xhs.startLocationUpdateBackground({
|
||||
success: res => {
|
||||
this.updateApiData('success', res);
|
||||
},
|
||||
fail: res => {
|
||||
this.updateApiData('fail', res);
|
||||
},
|
||||
complete: res => {
|
||||
this.updateApiData('complete', res);
|
||||
}
|
||||
});
|
||||
},
|
||||
stopLocationUpdate() {
|
||||
this.resetApiData();
|
||||
xhs.stopLocationUpdate({
|
||||
success: res => {
|
||||
this.updateApiData('success', res);
|
||||
xhs.showToast({
|
||||
title: '已关闭位置服务'
|
||||
});
|
||||
},
|
||||
fail: res => {
|
||||
this.updateApiData('fail', res);
|
||||
},
|
||||
complete: res => {
|
||||
this.updateApiData('complete', res);
|
||||
}
|
||||
});
|
||||
},
|
||||
chooseLocation() {
|
||||
this.resetApiData();
|
||||
xhs.chooseLocation({
|
||||
latitude: this.data.latitude - 0,
|
||||
longitude: this.data.longitude - 0,
|
||||
success: res => {
|
||||
this.setData({
|
||||
choosedLocation: res
|
||||
});
|
||||
},
|
||||
fail: res => {
|
||||
this.updateApiData('fail', res);
|
||||
},
|
||||
complete: res => {
|
||||
this.updateApiData('complete', res);
|
||||
}
|
||||
});
|
||||
},
|
||||
onLocationChange() {
|
||||
this.resetApiData();
|
||||
this.offLocation = xhs.onLocationChange(res => {
|
||||
this.updateApiData('success', res);
|
||||
this.setData({
|
||||
count: this.data.count + 1
|
||||
});
|
||||
});
|
||||
},
|
||||
offLocationChange() {
|
||||
if (this?.offLocation?.remove) {
|
||||
this.offLocation.remove();
|
||||
}
|
||||
this.updateApiData('success');
|
||||
},
|
||||
handleAltitude(e) {
|
||||
this.setData({
|
||||
altitude: e.detail.value
|
||||
});
|
||||
},
|
||||
handleHighAccuracy(e) {
|
||||
this.setData({
|
||||
isHighAccuracy: e.detail.value
|
||||
});
|
||||
},
|
||||
handleHighAccuracyExpireTime(e) {
|
||||
this.setData({
|
||||
highAccuracyExpireTime: e.detail.value - 0
|
||||
});
|
||||
},
|
||||
handleType(e) {
|
||||
this.setData({
|
||||
type: e.detail.value
|
||||
});
|
||||
},
|
||||
handleLongitude(e) {
|
||||
this.setData({
|
||||
longitude: e.detail.value - 0
|
||||
});
|
||||
},
|
||||
handleLatitude(e) {
|
||||
this.setData({
|
||||
latitude: e.detail.value - 0
|
||||
});
|
||||
},
|
||||
openLocation() {
|
||||
xhs.openLocation({
|
||||
latitude: 31.215442551782044,
|
||||
longitude: 121.47457688571865,
|
||||
address: '上海市黄浦区马当路356号',
|
||||
name: '小红书总部',
|
||||
complete: res => {
|
||||
console.log('【openLocation】:', res);
|
||||
}
|
||||
});
|
||||
}
|
||||
}, __templateJs));
|
||||
Reference in New Issue
Block a user