123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- // #ifdef H5
- import { jsonp } from 'vue-jsonp'
- // #endif
- // 导航去某地
- export const navigationAddress = (destination) => {
- const locationData = destination.split(',')
- uni.openLocation({
- latitude: locationData[1] * 1,
- longitude: locationData[0] * 1,
- success() {
- console.log('success')
- },
- fail(err) {
- console.log(err)
- }
- })
- // APP在搞吧
- // window.open(
- // `//uri.amap.com/navigation?from=118.115948,24.470662&to=${destination}&mode=car&policy=1&src=com.mzwu.www&callnative=1`
- // )
- }
- /**
- * 根据经纬度逆解析地址
- */
- export const getAdressDetailByLngLat = (lat, lng) => new Promise((resolve, reject) => {
- // #ifdef H5
- jsonp('https://restapi.amap.com/v3/geocode/regeo', {
- key: '5773f02930998e41b0de1d4e1bdbcaa9',
- location: `${lng},${lat}`
- })
- .then((res) => {
- console.log(res)
- resolve(res)
- })
- .catch((err) => {
- reject(err)
- })
- // #endif
- // #ifdef APP || MP-WEIXIN || MP-ALIPAY
- uni.request({
- url: 'https://restapi.amap.com/v3/geocode/regeo',
- data: {
- key: '5773f02930998e41b0de1d4e1bdbcaa9',
- location: `${lng},${lat}`
- },
- header: {},
- success: (res) => {
- resolve(res.data)
- },
- fail() {
- reject()
- }
- })
- // #endif
- })
- // 根据地址获取
- export const getLngLatByAddress = (address) => new Promise((resolve, reject) => {
- // #ifdef H5
- jsonp('https://restapi.amap.com/v3/geocode/geo', {
- key: '5773f02930998e41b0de1d4e1bdbcaa9',
- address
- })
- .then((res) => {
- resolve(res)
- })
- .catch((err) => {
- reject(err)
- })
- // #endif
- // #ifdef APP || MP-WEIXIN || MP-ALIPAY
- uni.request({
- url: 'https://restapi.amap.com/v3/geocode/geo',
- data: {
- key: '5773f02930998e41b0de1d4e1bdbcaa9',
- address
- },
- header: {},
- success: (res) => {
- resolve(res.data)
- },
- fail() {
- reject()
- }
- })
- // #endif
- })
- // 高德
- export function MapLoader(onSuccess, onFail) {
- const aMapScript = document.createElement('script')
- aMapScript.setAttribute(
- 'src',
- 'https://webapi.amap.com/maps?v=1.4.11&key=262e1be2edfaf66333664f33a915ccf3&plugin=AMap.CitySearch'
- )
- document.head.appendChild(aMapScript)
- return (aMapScript.onload = function () {
- AMap.plugin('AMap.Geolocation', function () {
- var geolocation = new AMap.Geolocation({
- enableHighAccuracy: true,
- timeout: 10000,
- buttonOffset: new AMap.Pixel(10, 20),
- zoomToAccuracy: true,
- buttonPosition: 'RB'
- })
- geolocation.getCurrentPosition()
- AMap.event.addListener(geolocation, 'complete', onComplete)
- AMap.event.addListener(geolocation, 'error', onError)
- function onComplete(data) {
- // data是具体的定位信息
- const position = data.position
- onSuccess &&
- typeof onSuccess === 'function' &&
- onSuccess({
- latitude: position.lat,
- longitude: position.lng
- })
- }
- function onError(data) {
- onFail && typeof onFail === 'function' && onFail(data)
- }
- })
- })
- }
|