使用了2中方式的定位
第一種是,點擊定位按鈕,自動獲取位置信息返回到小程序頁面上。位置准確率不高,有偏差
第二種,點擊定位按鈕,跳轉到地圖選點,選點后返回數據到原來的頁面。位置准確度高,但是可以隨意選點。
以下代碼還涉及到圖片按鈕的寫法,我使用的是給按鈕設置透明,加載按鈕背景圖片。小程序使用的圖片必須是網頁圖片,我使用的是雲開發里面存放的一個小圖標。
<view class="content"> <view class="demo-text-1" >*</view> <view class="demo-text-2" > 位置:</view> <view class="demo-text-3" > <text bindtap="getUserLocation" >{{address}}</text> </view> <view class="demo-text-4" style=" background- color: red;" > <button class="imgtb"style="background-image:url(https://7179-qyww-umgn9-1301480214.tcb.qcloud.la/img/marker_red.png?sign=4c58fdb6ffde9ef6045dba095df1b78e&t=1583974406);" bindtap="getditu" plain="true"></button> </view> </view>
button按鈕的樣式
button.imgtb{ height: 40rpx; width: 40rpx; border:none; background-repeat:no-repeat; background-size: 40rpx 40rpx; background-position:10%; }
地圖的2種實現方式
首先data里面進行數據初始化
data: { address:'點擊獲取位置信息',
然后,事件寫法
getditu:function(e){ var me = this; // 地理位置 wx.getLocation({ type: 'wgs84', success(res) { console.log(res) const latitude = res.latitude const longitude = res.longitude const speed = res.speed const accuracy = res.accuracy // 調用接口轉換成具體位置 demo.reverseGeocoder({ location: { latitude: res.latitude, longitude: res.longitude }, success: function (res) { console.log('位置獲取成功',res.result) me.setData({ address:res.result.address }) }, fail: function (res) { console.log(res); }, }) } }) }, /** *獲取用戶當前地理位置 */ getUserLocation() { var that = this wx.chooseLocation({ success: function (res) { console.log(res) that.setData({ latitude2: res.latitude, longitude2: res.longitude, name: res.name, address: res.address }) }, fail: function () { // fail }, complete: function () { // complete } }) },