uni | 您所在的位置:网站首页 › uni-app插件使用 › uni |
高德官方文档:准备-入门-教程-地图 JS API v2.0|高德地图API (amap.com) 首先按照链接步骤获取key 两种使用方式、注意:选其一、不可两者同时使用 第一种:loadScript.js 层级如下 使用方法: import { loadVoLteResourceList } from "@/config/jsAll/loadScript.js" getGDURL() { loadVoLteResourceList(["https://webapi.amap.com/loader.js"]) .then(res => { AMapLoader.load({ "key": "", // 申请好的Web端开发者Key,首次调用 load 时必 "version": "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15 "plugins": ["AMap.Geolocation"], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 "Loca": { // 是否加载 Loca, 缺省不加载 "version": '2.0' // Loca 版本 }, }).then((AMap) => { AMap.plugin('AMap.Geolocation', function() { var geolocation = new AMap.Geolocation({ // 是否使用高精度定位,默认:true enableHighAccuracy: true, // 设置定位超时时间,默认:无穷大 timeout: 100000, // 定位按钮的停靠位置的偏移量 offset: [10, 20], // 定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false zoomToAccuracy: true, // 定位按钮的排放位置, RB表示右下 position: 'RB' }) geolocation.getCurrentPosition(function(status, result) { if (status == 'complete') { onComplete(result) } else { onError(result) } }); function onComplete(data) { // data是具体的定位信息 console.log("data.position.lat", data.position.lat) console.log("data.position.lng", data.position.lng) console.log("data.position.lat.data", data.position.lat.data) uni.setStorageSync('longitude', data.position.lng) uni.setStorageSync('latitude', data.position.lat) console.log('uni.getStorageSync', uni.getStorageSync('longitude')) } function onError(data) { // 定位出错 console.log("onError", data) } }) }).catch((e) => { console.error(e); //加载错误提示 }); }).catch(res => { }) },第二种: npm引入: npm i @amap/amap-jsapi-loader --save使用方法: //引入 import AMapLoader from '@amap/amap-jsapi-loader'; // 高德获取url getGDURL() { AMapLoader.load({ "key": "7a3b45f0f45f7bf254381719946ce663", // 申请好的Web端开发者Key,首次调用 load 时必填 "version": "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15 "plugins": ["AMap.Geolocation"] //插件列表 }).then((AMap) => { AMap.plugin('AMap.Geolocation', function() { var geolocation = new AMap.Geolocation({ // 是否使用高精度定位,默认:true enableHighAccuracy: true, // 设置定位超时时间,默认:无穷大 timeout: 100000, // 定位按钮的停靠位置的偏移量 offset: [10, 20], // 定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false zoomToAccuracy: true, // 定位按钮的排放位置, RB表示右下 position: 'RB' }) geolocation.getCurrentPosition(function(status, result) { if (status == 'complete') { onComplete(result) } else { onError(result) } }); function onComplete(data) { // data是具体的定位信息 console.log("data.position.lat", data.position.lat) console.log("data.position.lng", data.position.lng) console.log("data.position.lat.data", data.position.lat.data) uni.setStorageSync('longitude', data.position.lng) uni.setStorageSync('latitude', data.position.lat) console.log('uni.getStorageSync', uni.getStorageSync('longitude')) } function onError(data) { // 定位出错 console.log("onError", data) } }) }).catch(e => { console.log(e); }) },注意: 1.用户gps要是打开的、设置->隐私->定位服务 (禁止状态下是无法获取经纬度的) 2.要是https环境,http也是获取不到经纬度的 |
CopyRight 2018-2019 实验室设备网 版权所有 |