Skip to content

Latest commit

 

History

History
61 lines (58 loc) · 1.33 KB

小程序定位.md

File metadata and controls

61 lines (58 loc) · 1.33 KB

方法一

const app = getApp();
const QQMapWX = require('../../libs/qqmap-wx-jssdk.min.js');
let qqmapSDK;

Page({
    data: {
        city: ''
    },
    onLoad: (options) => {
        qqmapSDK = new QQMapWX({
            key: 'xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx'
        });
    },
    //定位
    getLocation() {
        wx.getLocation({
            success: res => {
                qqmapSDK.reverseGeocoder({
                    location: {
                        latitude: res.latitude,
                        longitude: res.longitude
                    },
                    success: res => {              
                        this.setData({ city: res.result.address_component.city})
                    },
                    error: res => {   }
                })
            },
            fail: res => { }
        })
    }
});

方法二

export const reverseGeocoder = (latitude, longitude, success = () => {}, fail = () => {}) => {
  return wx.request({
    url: 'https://apis.map.qq.com/ws/geocoder/v1/',
    data: {
      location: `${latitude},${longitude}`,
      key: QQ_MAP_KEY,
      get_poi: 0
    },
    success,
    fail
  });
}

export const getLocation = () => {
  wx.getLocation({
    type: 'gcj02',
    success: res => {
      reverseGeocoder(res.latitude, res.longitude)
    },
    fail: err => {}
  })
}