欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信小程序API—獲取定位的詳解

 更新時間:2019年04月30日 10:13:09   作者:只是當(dāng)時已惘然丶  
這篇文章主要介紹了微信小程序API獲取定位,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在微信小程序中,我們可以很方便的通過API接口來獲取我們當(dāng)前的位置,接下來我講告訴大家微信獲取定位的API—wx.getLocation的用法,以及我們通過獲取定位,得到當(dāng)?shù)氐奈恢茫鞖獾刃畔ⅰ?/p>

<view class='content'>
 <view class='today'>
  <view class='info'>
   <view class='temp'>{{weather.temperature.data}}℃</view>
   <view class='weather'>{{weather.weather.data}} {{weather.winddirection.data}} {{weather.windpower.data}}</view>
   <view>友情提示:今天天氣不錯,是風(fēng)和日麗的,適合出去玩</view>
   <view class='city'>{{weather.city.data}}</view>
  </view>
 </view>
</view>

首先給出我的前端代碼,中括號內(nèi)的變量就是我們下文中從高德地圖返回給我們的json數(shù)組中解析出來的。下面讓我們來看一下我們?nèi)绾潍@得當(dāng)前的定位以及獲取高德地圖給我們的信息。

//獲取當(dāng)前位置的經(jīng)緯度
 loadInfo: function(){
  var that=this;
  wx.getLocation({
   type: 'gcj02', //返回可以用于wx.openLocation的經(jīng)緯度
   success: function (res) {
    var latitude = res.latitude//維度
    var longitude = res.longitude//經(jīng)度
    console.log(res);
    that.loadCity(latitude,longitude);
   }
  })
 },

其實(shí)獲取定位很簡單,我們直接調(diào)用微信的接口wx.getLocation,結(jié)果會返回給我們一個json數(shù)組,結(jié)果就像上圖一樣,數(shù)組中包含各種屬性,我們最需要的就是經(jīng)度(longitude)和緯度(latitude),我們獲得了當(dāng)前位置的經(jīng)緯度就可以調(diào)用高德地圖的API,把我們的經(jīng)緯度傳上去,之后就能夠獲得高德地圖給我們返回的信息。

首先我們需要從高德地圖的官網(wǎng)上下載一個微信小程序SDK
http://lbs.amap.com/api/wx/download
在創(chuàng)建的項(xiàng)目中,新建一個名為 libs 目錄,將 amap-wx.js (amap-wx.js 從下載的 zip 文件解壓后得到)文件拷貝到 libs 的本地目錄下,如下圖所示。

 

接下來我們需要在頁面的js文件中配置我們需要操作的數(shù)據(jù)

var amapFile = require('../../libs/amap-wx.js');
var markersData = {
 latitude: '',//緯度
 longitude: '',//經(jīng)度
 key: "需要去高德地圖注冊成為開發(fā)者,然后就會獲得一個key"http://申請的高德地圖key
};

好了,我們配置好外部文件以后,就可以在js里面寫邏輯了,下面貼出我的js代碼。

var amapFile = require('../../libs/amap-wx.js');
var markersData = {
 latitude: '',//緯度
 longitude: '',//經(jīng)度
 key: "高德地圖key"http://申請的高德地圖key
};
Page({

 /**
  * 頁面的初始數(shù)據(jù)
  */
 data: {
  weather:[],
 },

 /**
  * 生命周期函數(shù)--監(jiān)聽頁面加載
  */
 onLoad: function (options) {
  this.loadInfo();
 },


 //獲取當(dāng)前位置的經(jīng)緯度
 loadInfo: function(){
  var that=this;
  wx.getLocation({
   type: 'gcj02', //返回可以用于wx.openLocation的經(jīng)緯度
   success: function (res) {
    var latitude = res.latitude//維度
    var longitude = res.longitude//經(jīng)度
    console.log(res);
    that.loadCity(latitude,longitude);
   }
  })
 },

 //把當(dāng)前位置的經(jīng)緯度傳給高德地圖,調(diào)用高德API獲取當(dāng)前地理位置,天氣情況等信息
 loadCity: function (latitude, longitude){
  var that=this;
  var myAmapFun = new amapFile.AMapWX({ key: markersData.key });
  myAmapFun.getRegeo({
   location: '' + longitude + ',' + latitude + '',//location的格式為'經(jīng)度,緯度'
   success: function (data) {
    console.log(data);
   },
   fail: function (info) { }
  });

  myAmapFun.getWeather({
   success: function (data) {
    that.setData({
     weather: data
    })
    console.log(data);
    //成功回調(diào)
   },
   fail: function (info) {
    //失敗回調(diào)
    console.log(info)
   }
  })
 },


})

我們在onload函數(shù)中獲取當(dāng)前的定位,我們把經(jīng)緯度信息傳遞給myAmapFun.getRegeo方法中的location參數(shù),接下來我們可以看看高德地圖給我們返回的信息。

我們獲取了我們的位置以及郵政編碼等一系列信息,大家可以去高德地圖上注冊一個開發(fā)者,得到一個key,然后測試一下,也可以獲得你們當(dāng)?shù)氐男畔ⅰ?/p>

我們再看一下myAmapFun.getWeather給我們返回的天氣信息。

我們順利得到了我們當(dāng)?shù)氐奶鞖庑畔?,然后再把這些信息顯示在我們的wxml界面就行了,大家注意一下圖片中的屬性,然后再看一下wxml中括號內(nèi)的變量,就可以知道講json數(shù)組的某些屬性的值如何傳到前端了。有一個細(xì)節(jié)就是我把myAmapFun.getWeather方法返回的data數(shù)組傳給了我在全局data中定義的weather數(shù)組,這樣我們在前端就可以通過上文wxml中的方法來顯示數(shù)組中的值。

文章的末尾還是要強(qiáng)調(diào)一下,本次測試需要開發(fā)者自己去高德地圖官網(wǎng)注冊開發(fā)者賬號,然后獲取自己的key,并且需要下載高德地圖提供給我們的微信小程序SDK,接著在項(xiàng)目中配置解壓后的js文件,最后我們就可以像上文那樣去使用高德地圖的接口了。

以上所述是小編給大家介紹的微信小程序API獲取定位詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • JS button按鈕實(shí)現(xiàn)submit按鈕提交效果

    JS button按鈕實(shí)現(xiàn)submit按鈕提交效果

    今天在使用表單是同時使用POST更新、刪除操作。然而form表單的 submit 且一旦提交則全部提交,所以想到的實(shí)現(xiàn)方法就是 使用button實(shí)現(xiàn),怎么實(shí)現(xiàn)呢?下面小編給大家分享JS button按鈕實(shí)現(xiàn)submit按鈕提交效果,感興趣的朋友參考下吧
    2016-11-11
  • JavaScript 事件對內(nèi)存和性能的影響

    JavaScript 事件對內(nèi)存和性能的影響

    本文主要介紹了JavaScript 事件對內(nèi)存和性能的影響。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • JS實(shí)現(xiàn)圖片懶加載(lazyload)過程詳解

    JS實(shí)現(xiàn)圖片懶加載(lazyload)過程詳解

    這篇文章主要介紹了JS實(shí)現(xiàn)圖片懶加載(lazyload)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • javascript 圖片裁剪技巧解讀

    javascript 圖片裁剪技巧解讀

    本文將提供php版的JavaScript裁剪圖片代碼,僅供大家參考
    2012-11-11
  • JS解決Date對象在IOS中的“大坑” 以及時間格式兼容問題

    JS解決Date對象在IOS中的“大坑” 以及時間格式兼容問題

    這篇文章主要介紹了JS解決Date對象在IOS中的“大坑” 以及時間格式兼容問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Javascript閉包的作用與使用方法淺析

    Javascript閉包的作用與使用方法淺析

    閉包是js的一個難點(diǎn)也是它的一個特色,是我們必須掌握的js高級特性,下面這篇文章主要給大家介紹了關(guān)于JavaScript閉包函數(shù)的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • JavaScript執(zhí)行環(huán)境及作用域鏈實(shí)例分析

    JavaScript執(zhí)行環(huán)境及作用域鏈實(shí)例分析

    這篇文章主要介紹了JavaScript執(zhí)行環(huán)境及作用域鏈,結(jié)合實(shí)例形式分析了JavaScript執(zhí)行環(huán)境及作用域鏈的相關(guān)概念、功能與使用技巧,需要的朋友可以參考下
    2018-08-08
  • electron如何使用typescript

    electron如何使用typescript

    引入 TypeScript 到 Electron 項(xiàng)目可以幫助你捕捉錯誤并在編寫代碼時提供更好的自動完成和文檔,這篇文章主要介紹了electron使用typescript的步驟,需要的朋友可以參考下
    2024-04-04
  • IE下通過a實(shí)現(xiàn)location.href 獲取referer的值

    IE下通過a實(shí)現(xiàn)location.href 獲取referer的值

    IE下采用window.location.href方式跳轉(zhuǎn)的話,referer值為空在標(biāo)簽a里面的跳轉(zhuǎn)的話referer就不會空,下面是具體的實(shí)現(xiàn)代碼
    2014-09-09
  • 簡約JS日歷控件 實(shí)例代碼

    簡約JS日歷控件 實(shí)例代碼

    這篇文章介紹了一款簡約JS日歷控件的全部代碼,有需要的朋友可以參考一下
    2013-07-07

最新評論