首页 微信小程序 微信开发 如何通过微信获取当前地理位置并将其存到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)

热门话题

Java教程
1658
14
CakePHP 教程
1415
52
Laravel 教程
1309
25
PHP教程
1257
29
C# 教程
1231
24
如何修改抖音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.在推荐管理页面,你可以看到自己的兴趣标签和兴趣偏好。你可以根据自己的喜好,选择或取消选择不同的

抖音的IP地址是怎么显示的?IP地址显示的是实时位置吗? 抖音的IP地址是怎么显示的?IP地址显示的是实时位置吗? May 02, 2024 pm 01:34 PM

用户在抖音不仅可以观看各种有趣的短视频,还可以发布自己拍摄的作品,与全国乃至全球的网友互动。在这个过程中,抖音的IP地址显示功能引起了广泛关注。一、抖音的IP地址是怎么显示的?抖音的IP地址显示功能主要是通过地理位置定位服务实现的。当用户在抖音上发布或观看视频时,抖音会自动获取用户的地理位置信息。这一过程主要分为以下几个步骤:首先,用户启用抖音应用程序并允许应用程序访问其地理位置信息;其次,抖音使用定位服务获取用户的地理位置信息;最后,抖音将用户的地理位置信息与其发布或观看的视频数据相关联,并将

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

修改抖音位置权限的步骤:1. 打开抖音应用,点击“我”。2. 点击右上角的“三横杠图标”。3. 选择“设置”。4. 找到“隐私设置”,并点击。5. 点击“定位服务”。6. 根据需要选择“允许使用定位”或“仅在使用时询问”。7. 修改后需重启抖音应用才能生效。

抖音如何更改推荐设置 抖音如何更改推荐设置 May 04, 2024 am 12:06 AM

可以通过更改“内容偏好”设置来更改抖音推荐,包括调整推荐视频类型、关注感兴趣的创作者、屏蔽不喜欢的内容、设置视频语言、地理位置限制、热门话题关注和清除搜索/浏览记录。

如何更改抖音时区设置 如何更改抖音时区设置 May 04, 2024 am 01:57 AM

无法更改抖音时区设置,时区将基于当前地理位置自动设置。

See all articles