日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

app uniapp 获取位置_uniApp 地图使用

發布時間:2024/9/19 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 app uniapp 获取位置_uniApp 地图使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

uniApp 地圖使用

2、地圖分顯示,和獲取定位兩部分;顯示可選擇騰訊地圖、高德地圖、百度地圖

3、獲取定位方法由 uniApp 提供,坐標為固定的 gcj02、即使設置類型 wgs84,也是得到 gcj02 坐標

創建地圖

onReady() {

let vm = this

vm.map = uni.createMapContext('map2', this)

vm.getLocation()

},

methods: {

//獲取定位

getLocation() {

let vm = this

uni.getLocation({

type: 'gcj02',

geocode: true,//獲取城市具體地址

success: (e) => {

if (e.address.city) {

vm.cityName = e.address.city

vm.poiName = e.address.poiName

vm.moveToLocation()

}

vm.latitude = e.latitude

vm.longitude = e.longitude

vm.run = 'start'

vm.addDingwei()

},

fail: (e) => {

vm.longitude = 113.953834 //e.longitude

vm.latitude = 22.540235 //e.latitude

vm.run = 'start'

vm.addDingwei()

},

})

},

//移動到指定位置

moveToLocation() {

let vm = this

let falg = Object.keys(vm.map).length

if (falg) {

vm.map.moveToLocation({

longitude: vm.longitude,

latitude: vm.latitude,

success: () => {}

})

}

},

//添加定位點

addDingwei() {

let vm = this,arr = [];

arr.push({

id: 0,

latitude: vm.latitude,

longitude: vm.longitude,

iconPath: '../../static/dingwei.png',

callout: {

content: '刪除此站點', //文本

color: '#ffffff', //文字顏色

fontSize: 14, //文本大小

borderRadius: 2, //邊框圓角

bgColor: '#00c16f', //背景顏色

display: 'BYCLICK', //點擊顯示

},

})

vm.markers = arr

},

//點擊控件

controltap(e) {

let vm = this

if (e.detail.controlId === 0) {

vm.getLocation()

}

if (e.detail.controlId === 1) {

uni.chooseLocation({

success: (e) => {

vm.getLine(e)

}

})

}

},

//移動地圖位置觸發獲取地圖中心店坐標

regionchange(e) {

let vm = this

if (e.type != 'begin' && vm.run == 'start') {

vm.getCenterLocation()

}

},

}

喚醒第三方地圖

//引入插件

import Map from '@/js_sdk/fx-openMap/openMap.js'

//既有起點也有終點

var options = {

origin: { //導航起點坐標和名稱,如果不傳則起點為當前位置

latitude: vm.latitude,

longitude: vm.longitude,

name: "大沖商務中心C座"

},

destination: { //導航終點點坐標和名稱

latitude: item.latitude,

longitude: item.longitude,

name: item.name

},

mode: "drive" //導航方式 公交:bus駕車:drive(默認),步行:walk,騎行:bike

}

//只有有終點(起點默認為當前位置)

var options = {

destination: { //導航終點點坐標和名稱

latitude: item.latitude,

longitude: item.longitude,

name: item.name

},

mode: "drive" //導航方式 公交:bus駕車:drive(默認),步行:walk,騎行:bike

}

Map.openMap(options, 'gcj02')

app 端生成導航線路

//引入插件

import Amap from '../../js_sdk/Lyn4ever-gaodeRoutePlanning/lyn4ever-gaode.js';

//搜索路線

getLine(item) {

let vm = this

let latitude = JSON.stringify(vm.latitude).slice(0, 9),

longitude = JSON.stringify(vm.longitude).slice(0, 10);

let startPoi = longitude + ',' + latitude;

let wayPoi = "";

let endPoi = item.longitude + ',' + item.latitude;

vm.polyline = []

if (window === undefined) {

Amap.line(startPoi, endPoi, wayPoi, function(res) {

vm.polyline.push(res)

});

Amap.markers(startPoi, endPoi, wayPoi, function(res) {

vm.markers = res

});

} else {

window.open('https://map.baidu.com/')

}

},

階段總結

1,運行環境判斷 window === undefined?“app”:“h5”

2,變量樣式獲取使用 :style="mapStyle"||:style="coverView()"

3,造輪子之前,先查看插件庫,研究研究

總結

以上是生活随笔為你收集整理的app uniapp 获取位置_uniApp 地图使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。