首頁 微信小程式 微信開發 如何透過微信取得目前地理位置並將其儲存到session中

如何透過微信取得目前地理位置並將其儲存到session中

Sep 14, 2017 am 09:04 AM
地理位置 獲取

首先,在靜態頁面中,加入微信的設定文件,透過js取得。

<script type="text/javascript">
  wx.config({
    debug: false,
    appId: &#39;{$signPackage.appId}&#39;,
    timestamp: &#39;{$signPackage.timestamp}&#39;,
    nonceStr: &#39;{$signPackage.nonceStr}&#39;,
    signature: &#39;{$signPackage.signature}&#39;,
    jsApiList: [
      // 所有要调用的 API 都要加到这个列表中
      &#39;checkJsApi&#39;,
      &#39;openLocation&#39;,
       &#39;getLocation&#39;,
       &#39;scanQRCode&#39;
    ]
  });
  wx.ready(function () {
    $(&#39;#scan&#39;).click(function(){
      wx.scanQRCode({
        needResult: 0,
         });
       });
    wx.checkJsApi({
       jsApiList: [
         &#39;getLocation&#39;
      ],
      success: function (res) {
        if (res.checkResult.getLocation == false)
        {
          alert(&#39;你的微信版本太低,不支持微信JS接口,请升级到最新的微信版本!&#39;);
           return;
        }
      }
    });
    wx.getLocation({
      success: function (res) {
           var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
        var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
        var geoconv = &#39;http://api.map.baidu.com/geoconv/v1/?callback=coordinateTransformation&coords=&#39; + longitude + &#39;,&#39; + latitude + &#39;&from=1&to=5&ak=5BFNbSgnVF5g2O72NpvTDxFm&#39;;
        var script = document.createElement(&#39;script&#39;);
        script.src = geoconv;
        document.head.appendChild(script);
       },
      cancel: function (res) {
        alert(&#39;用户拒绝授权获取地理位置&#39;);
         }
     });
  });
  function coordinateTransformation(data)
  {
    var LATLNG = data.result[0].y + &#39;,&#39; + data.result[0].x;
    var url = &#39;http://api.map.baidu.com/geocoder/v2/?callback=getCurrentLocation&ak=5BFNbSgnVF5g2O72NpvTDxFm&location=&#39; + LATLNG + &#39;&output=json&pois=1&#39;;
    var script = document.createElement(&#39;script&#39;);
    script.src = url;
    document.head.appendChild(script);
   }
  function getCurrentLocation(data)
  {
    if(data.status === 0)
     {
      var address = data.result.formatted_address,
      x = data.result.location.lng,
         y = data.result.location.lat,
      city = data.result.addressComponent.city,
      street = data.result.addressComponent.street || data.result.formatted_address,
      reqData = &#39;street=&#39; + address + &#39;&name=&#39; + street + &#39;&lng=&#39; + x + &#39;&lat=&#39; + y + &#39;&city=&#39; + city;
      var url = "{:U(&#39;Index/savePosition&#39;)}";
       $.getJSON(url,{&#39;name&#39;:street,&#39;lng&#39;:x,&#39;lat&#39;: y,&#39;city&#39;:city},function(data)
       {
         if(data.returnCode) { }
      });
     }
   }
</script>
其次,在控制器中接收ajax传递的地理坐标,然后保存到session中。
public function savePosition()    {      
$city   = II(&#39;get.city&#39;,&#39;&#39;,&#39;trim&#39;);      
$addr = II(&#39;get.name&#39;,&#39;&#39;,&#39;trim&#39;);      
$lng   = II(&#39;get.lng&#39;,&#39;&#39;,&#39;trim&#39;);      
$lat    = II(&#39;get.lat&#39;,&#39;&#39;,&#39;trim&#39;);      
$myLocation = array(                
    &#39;city&#39;   =>$city,                
    &#39;addr&#39; =>$addr,                
    &#39;lng&#39;   =>$lng,               
    &#39;lat&#39;   =>$lat,      );
  $_SESSION[&#39;MyLocation&#39;] = $myLocation;
          $data[&#39;returnCode&#39;]  = 1;          
          $data[&#39;returnInfo&#39;]  = &#39;获取位置成功!&#39;;          
          $this->ajaxReturn($data);         
           return;    
           }
登入後複製

註:用的是thinkphp框架,II是自訂的方法,取得get或post傳遞的值,和 I 函數一樣。

以上是如何透過微信取得目前地理位置並將其儲存到session中的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何修改抖音IP屬地 如何修改抖音IP屬地 May 04, 2024 pm 04:36 PM

是的,您可以修改抖音 IP 屬地,方法如下:開啟抖音,編輯個人資料。修改城市訊息,選擇您要顯示的城市或地區。登出並重新登錄,使修改生效。

高德地圖是不是要手機註冊 高德地圖是不是要手機註冊 May 05, 2024 pm 05:12 PM

是的,為了安全保障、個人化服務和帳號管理,高德地圖需要使用手機號碼註冊。註冊步驟包括:開啟高德地圖應用,點擊“我的”和“登入/註冊”,選擇手機號碼註冊,輸入手機號碼取得驗證碼,設定密碼即可完成註冊。

微博怎麼發圖片和影片一起 微博怎麼發圖片和影片一起 May 03, 2024 am 01:15 AM

微博同時發布圖片和影片的操作步驟如下:選擇相關或互補的圖片和影片。打開微博客戶端並點擊發布按鈕。選擇“圖片和影片”標籤。新增圖片和影片(最多9張圖片及1個影片)。輸入文字內容並新增相關資訊。發布即可。

抖音推薦怎麼重新設定?如何把推薦改為精選? 抖音推薦怎麼重新設定?如何把推薦改為精選? May 08, 2024 pm 03:52 PM

抖音作為一個以短影片為主的社群平台,推薦演算法是其核心功能之一。它能夠根據用戶的興趣和行為,推薦相關的影片內容。有時使用者可能想要重新設定推薦演算法,以獲得更符合自己喜好的內容。那麼,抖音推薦怎麼重新設定呢?抖音如何把推薦改為精選?本文將為您解答這兩個問題。一、抖音推薦怎麼重新設定? 1.開啟抖音APP,進入個人首頁。 2.點選右上角的「設定」圖標,進入設定頁面。 3.在設定頁面,找到「建議管理」選項,點選進入。 4.在推薦管理頁面,你可以看到自己的興趣標籤和興趣偏好。你可以依照自己的喜好,選擇或取消選擇不同的

抖音如何修改位置權限 抖音如何修改位置權限 May 03, 2024 pm 11:24 PM

修改抖音位置權限的步驟:1. 開啟抖音應用,點選「我」。 2. 點選右上角的「三橫槓圖示」。 3. 選擇“設定”。 4. 找到“隱私設定”,並點選。 5. 點選「定位服務」。 6. 根據需要選擇「允許使用定位」或「僅在使用時詢問」。 7. 修改後需重啟抖音應用才能生效。

抖音如何更改建議設定 抖音如何更改建議設定 May 04, 2024 am 12:06 AM

可以透過更改「內容偏好」設定來更改抖音推薦,包括調整推薦影片類型、追蹤有興趣的創作者、封鎖不喜歡的內容、設定影片語言、地理位置限制、熱門話題追蹤和清除搜尋/瀏覽記錄。

抖音的IP位址是怎麼顯示的? IP位址顯示的是即時位置嗎? 抖音的IP位址是怎麼顯示的? IP位址顯示的是即時位置嗎? May 02, 2024 pm 01:34 PM

用戶在抖音不僅可以觀看各種有趣的短視頻,還可以發布自己拍攝的作品,與全國乃至全球的網友互動。在這個過程中,抖音的IP位址顯示功能引起了廣泛關注。一、抖音的IP位址是怎麼顯示的?抖音的IP位址顯示功能主要是透過地理位置定位服務來實現的。當使用者在抖音上發布或觀看影片時,抖音會自動取得使用者的地理位置資訊。這個過程主要分為以下幾個步驟:首先,用戶啟用抖音應用程式並允許應用程式存取其地理位置資訊;其次,抖音使用定位服務來獲取用戶的地理位置資訊;最後,抖音將用戶的地理位置資訊與其發布或觀看的影片資料相關聯,並將

如何變更抖音時區設定 如何變更抖音時區設定 May 04, 2024 am 01:57 AM

無法變更抖音時區設置,時區將基於目前地理位置自動設定。

See all articles