亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 小程序 > 正文

微信小程序開發之map地圖組件定位并手動修改位置偏差

2020-03-21 15:15:55
字體:
來源:轉載
供稿:網友

環境搭建

注冊,獲取APPID(沒有這個不能真雞調試)

下載微信web開發者工具(挺多bug,將就用)

打開微信web開發者工具,掃碼登錄,新建小程序,輸入APPID,勾選創建quick start項目。

工程結構

可以看到工程根目錄中有個app.js,這里可以定義全局變量,通過getApp()獲取。 

項目中有了一些示例,已經有了獲取用戶信息的方法等。

開發地圖定位,選擇位置功能

我們直接修改index頁面來做這個功能。

準備

新建imgs目錄,加入2個圖標(ic_location和ic_position),用于標記當前位置,和地圖中央位置。

微信小程序,map,地圖組件,定位 微信小程序,map,地圖組件,定位

添加定位功能

修改app.js,加入定位功能,獲取當前位置。

//app.jsApp({ onLaunch: function () {  //調用API從本地緩存中獲取數據  var logs = wx.getStorageSync('logs') || []  logs.unshift(Date.now())  wx.setStorageSync('logs', logs) } ,getUserInfo:function(cb){  var that = this  if(this.globalData.userInfo){   typeof cb == "function" && cb(this.globalData.userInfo)  }else{   //調用登錄接口   wx.login({    success: function () {     wx.getUserInfo({      success: function (res) {       that.globalData.userInfo = res.userInfo       typeof cb == "function" && cb(that.globalData.userInfo)      }     })    }   })  } } //get locationInfo ,getLocationInfo: function(cb){  var that = this;  if(this.globalData.locationInfo){    cb(this.globalData.locationInfo)  }else{    wx.getLocation({     type: 'gcj02', // 默認為 wgs84 返回 gps 坐標,gcj02 返回可用于 wx.openLocation 的坐標     success: function(res){      that.globalData.locationInfo = res;      cb(that.globalData.locationInfo)     },     fail: function() {      // fail     },     complete: function() {      // complete     }    })  } } ,globalData:{  userInfo:null  ,locationInfo: null }})

地圖控件布局

修改pages/index/index.wxml文件,添加map標簽,如下

<map id="map4select" longitude="{{longitude}}" latitude="{{latitude}}"  markers="{{markers}}" scale="20"  style="width:{{map_width}}px;height:{{map_height}}px" bindregionchange="regionchange" controls="{{controls}}"></map>

需要給地圖指定一個id,后面可以通過id獲取地圖的上下文。

監聽bindregionchange事件,地圖變化的時候可以監聽到。

地圖的大小不要寫死,動態設置,我這里打算設置為寬高都是屏幕寬度。

controls是固定在map組件上面的。一開始我想用image替代,但是設置z-index也不能在地圖上面,畢竟不是H5開發。

邏輯代碼編寫

編輯index.js

var app = getApp()Page({  data:{   map_width: 380   ,map_height: 380  }  //show current position  ,onLoad: function(){  var that = this;  // 獲取定位,并把位置標示出來  app.getLocationInfo(function(locationInfo){    console.log('map',locationInfo);    that.setData({     longitude: locationInfo.longitude     ,latitude: locationInfo.latitude     ,markers:[      {      id: 0      ,iconPath: "../../imgs/ic_position.png"      ,longitude: locationInfo.longitude      ,latitude: locationInfo.latitude      ,width: 30      ,height: 30      }     ]    })  })  //set the width and height  // 動態設置map的寬和高  wx.getSystemInfo({   success: function(res) {    console.log('getSystemInfo');    console.log(res.windowWidth);    that.setData({      map_width: res.windowWidth     ,map_height: res.windowWidth     ,controls: [{      id: 1,      iconPath: '../../imgs/ic_location.png',      position: {       left: res.windowWidth/2 - 8,       top: res.windowWidth/2 - 16,       width: 30,       height: 30      },      clickable: true     }]    })   }  }) } //獲取中間點的經緯度,并mark出來 ,getLngLat: function(){   var that = this;   this.mapCtx = wx.createMapContext("map4select");   this.mapCtx.getCenterLocation({    success: function(res){      that.setData({      longitude: res.longitude      ,latitude: res.latitude      ,markers:[       {       id: 0       ,iconPath: "../../imgs/ic_position.png"       ,longitude: res.longitude       ,latitude: res.latitude       ,width: 30       ,height: 30       }      ]     })    }   }) } ,regionchange(e) {  // 地圖發生變化的時候,獲取中間點,也就是用戶選擇的位置   if(e.type == 'end'){     this.getLngLat()   } } ,markertap(e) {  console.log(e) }})

展示

這樣,就OK啦,用戶可以看到自己的定位,如果覺得有偏差,可以移動地圖,把中央點放到自己認為的準確位置上。

微信小程序,map,地圖組件,定位 
微信小程序,map,地圖組件,定位 
微信小程序,map,地圖組件,定位


注:相關教程知識閱讀請移步到微信小程序開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91中文精品字幕在线视频| 91免费的视频在线播放| 中文字幕日韩高清| 亚洲一区二区三区香蕉| 国产日韩综合一区二区性色av| 国产性色av一区二区| 亚洲精品99久久久久中文字幕| 日韩中文字幕在线免费观看| 久久久噜噜噜久久中文字免| 国产成人97精品免费看片| 欧美亚洲成人网| 亚洲va欧美va在线观看| 亚洲毛片在线免费观看| 九九热在线精品视频| 欧美韩国理论所午夜片917电影| 97涩涩爰在线观看亚洲| 日韩精品极品毛片系列视频| 国产欧美一区二区| 日韩在线观看你懂的| 国产成人拍精品视频午夜网站| 亚洲国产精品网站| 欧美另类极品videosbestfree| 欧美最猛性xxxxx(亚洲精品)| 亚洲精品一区在线观看香蕉| 亚洲一区二区福利| 欧美巨乳美女视频| 97在线视频免费| 国内精品在线一区| 91天堂在线观看| 91成人在线播放| 国产精品777| 国产精品美腿一区在线看| 成人欧美一区二区三区在线湿哒哒| www国产精品视频| 国产成+人+综合+亚洲欧美丁香花| 亚洲综合在线做性| 成人免费网站在线看| 自拍偷拍亚洲一区| 最近中文字幕日韩精品| 久久人人爽亚洲精品天堂| 91高清免费在线观看| 亚洲大胆人体视频| 深夜福利日韩在线看| 国产精品一区二区三区毛片淫片| 精品高清美女精品国产区| 国产精品高清免费在线观看| 国产日韩欧美视频在线| 中文字幕日韩高清| 亚洲综合自拍一区| 国产日韩精品视频| 一区二区三区久久精品| 久久艹在线视频| 国产欧美va欧美va香蕉在线| 欧美性高潮在线| 亚洲国产高清自拍| 国产欧美一区二区三区四区| 中文字幕亚洲欧美日韩高清| 国产精品久久久久久久久久久久久| 亚洲欧美一区二区三区在线| 久久99国产精品自在自在app| 亚洲电影免费观看| 亚洲国产精品999| 国产91ⅴ在线精品免费观看| 88xx成人精品| 国产精品狠色婷| 国产一区欧美二区三区| 亚洲成色777777女色窝| 奇门遁甲1982国语版免费观看高清| 欧美日韩高清区| 最近更新的2019中文字幕| 亚洲字幕在线观看| 亚洲国产精品女人久久久| 国产成人精彩在线视频九色| 成人激情春色网| 欧洲亚洲在线视频| 一个人看的www欧美| 久久人人爽亚洲精品天堂| 黄色成人在线免费| 久久中文字幕一区| 琪琪亚洲精品午夜在线| 国模叶桐国产精品一区| 色综合色综合久久综合频道88| 亚洲精品影视在线观看| 欧洲美女免费图片一区| 一区二区三区四区精品| 久久免费国产精品1| 性亚洲最疯狂xxxx高清| zzjj国产精品一区二区| 日韩日本欧美亚洲| 国产精品永久免费观看| 尤物九九久久国产精品的分类| 亚洲美女又黄又爽在线观看| 538国产精品一区二区免费视频| 亚洲xxxx3d| 97国产一区二区精品久久呦| 国内精品久久久久| 国产精品一区二区电影| 国产精品成人在线| 欧美—级高清免费播放| 亚洲天堂久久av| 亚洲人成绝费网站色www| 欧美剧在线观看| 亚洲天堂免费在线| 日韩欧美中文字幕在线播放| 欧美大片在线免费观看| 精品毛片三在线观看| 日本久久久久亚洲中字幕| 国产成人久久精品| 亚洲国产天堂久久国产91| 欧美激情喷水视频| 亚洲精品中文字| 成人在线播放av| 欧美日韩国产综合新一区| 欧美高清视频在线| 日韩av在线一区二区| 中文字幕最新精品| 亚洲欧美一区二区激情| 日韩av综合中文字幕| 亚洲国产精品网站| 国产精品无av码在线观看| 欧美亚州一区二区三区| 国自产精品手机在线观看视频| 亚洲免费人成在线视频观看| 欧美中文字幕视频| 久久久免费av| 日韩欧美一区二区在线| 中文字幕久久久av一区| 国产精品入口免费视频一| 亚洲第一区中文99精品| 欧美精品电影免费在线观看| 日韩中文字幕亚洲| 色综合伊人色综合网| 欧美日韩国产成人高清视频| 97免费视频在线| 欧美成人合集magnet| 精品国产拍在线观看| 懂色av影视一区二区三区| 精品国产一区二区在线| 国产精品久久91| 久久久精品国产亚洲| 日韩在线www| 日本午夜精品理论片a级appf发布| 亚洲精品成a人在线观看| 国产精品爱啪在线线免费观看| 久久精品国产99国产精品澳门| 日韩av免费看| 91chinesevideo永久地址| 伊人成人开心激情综合网| 日韩在线欧美在线国产在线| 最近中文字幕2019免费| 欧美大片欧美激情性色a∨久久| 亚洲女人天堂色在线7777| 日韩经典一区二区三区| 奇米一区二区三区四区久久| 亚洲精品成a人在线观看| 精品在线欧美视频| 亚洲精品永久免费精品| 欧美日韩裸体免费视频| 亲子乱一区二区三区电影| 国产精品激情av在线播放| 欧美精品videos另类日本| 国产视频久久久| 国产精品视频99| 欧美成人四级hd版|