微信定位功能结合百度地图获取用户城市

需要结合百度地图的API,请先完成这篇文章的流程:《使用百度地图将经纬度转换成具体位置》

以vuejs为例

beforeMount () {
            var that = this;
            this.city = ‘正在定位城市...‘;
            this.wxapi.getWxConfig({
                url: window.location.href.split(‘#‘)[0]
            }).then(_ => {
                if (+(_.returnCode) == 0) {
                    // 初始化微信配置
                    wx.config(_.data);
                    // 微信初始化事件
                    wx.ready(function(){
                        // 调用微信定位接口
                        wx.getLocation({
                            type: ‘wgs84‘, // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入‘gcj02‘
                            success: function (res) {
                                var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
                                var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
                                if (latitude && longitude) {
                                      window.getlocation = function (data) {
                                          Loader.hideAll();
                                          if (data.status == 0) {
                                              var city = data.result.addressComponent.city
                                              Toast("定位到当前城市为:" + city);
                                              that.city = city
                                              this.$store.state.city = city
                                          } else {
                                              Toast(‘地址解析失败,请手动选择城市‘)
                                              that.$router.push(‘/cityselect‘)
                                          }
                                      }

                                      Loader.show(‘正在定位...‘);
                                      var o = document.createElement(‘script‘);
                                      o.src = `http://api.map.baidu.com/geocoder/v2/?callback=getlocation&location=${latitude},${longitude}&output=json&pois=1&ak=PaY0aQpuk5ypaxL1bGH4y65nbitEd0u3`;
                                      document.documentElement.childNodes[0].appendChild(o);
                                  } else {
                                      Toast(‘微信定位失败,请手动选择城市‘)
                                      that.$router.push(‘/cityselect‘)
                                  }
                            }
                        });
                    });
                    // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
                    wx.error(function(res){
                        that.city = "定位失败,请手动选择城市";
                        Toasrt(‘微信接口调用失败,请手动选择城市‘)
                        that.$router.push(‘/cityselect‘)
                    });
                } else {
                    Toast("获取微信配置失败" + _.msg);
                    that.city = "定位失败,请手动选择城市";
                    that.$router.push(‘/cityselect‘)
                }
            })
        }

原文地址:https://www.cnblogs.com/CyLee/p/8661724.html

时间: 2024-10-11 05:18:05

微信定位功能结合百度地图获取用户城市的相关文章

微信公众平台接口教程:获取用户发送的地理位置xml

微信公众平台接口获取用户发送的地理位置xml 实现的功能就是,当用户向我的公众平台发送一个当前位置,我要在卫星API中获取这个位置的经度纬度(x,y)然后通过这个经纬度接百度地图接口查询这个位置附近的饭店有哪些. 说白了,就是食神摇摇的那个功能.先贴上,用户向公众平台发送的位置的xml 1 <xml> 2 <ToUserName><![CDATA[toUser]]></ToUserName> 3 <FromUserName><![CDATA

iOS 百度地图获取地理位置名称

目前很多的应用都用到了百度地图这一版本,不过有些方法是我在网上并没有找到的,但是这并不意味着就没有相关的文章介绍,那么这里我所记录的就是百度地图获取地理位置,以及省份,城市,区域,其他的不多说了,直接进入正题吧:       创建地图基本图层 首先,需要到http://dev.baidu.com/wiki/imap/index.php?title=iOS平台/相关下载下载全部内容,包括文档,示例代码和开发包. 然后获取自己的API KEY,具体方法按百度的官网申请就行,比较简单. 下载的文件应该

html5定位并在百度地图上显示

在开发移动端 web 或者webapp时,使用百度地图 API 的过程中,经常需要通过手机定位获取当前位置并在地图上居中显示出来,这就需要用到html5的地理定位功能. navigator.geolocation.getCurrentPosition(callback); 在获取坐标成功之后会执行回调函数 callback; callback 方法的参数就是获取到的坐标点:然后可以初始化地图,设置控件.中心点.缩放等级,然后给地图添加point的overlay: var map = new BM

Java微信公众平台开发(十六)--微信网页授权(OAuth2.0授权)获取用户基本信息

转自:http://www.cuiyongzhi.com/post/78.html 好长时间没有写文章了,主要是最近的工作和生活上的事情比较多而且繁琐,其实到现在我依然还是感觉有些迷茫,最后还是决定静下心来坚持一开始的选择,继续我们的微信系列文章的后续更新,也希望在自己有时间的时候能把更多的内容呈现给大家,前面一系列的文章讲述了很多微信开发相关的基础知识点 [微信系列文章],那么从这一篇开始将讲述微信较深一层次或者说在产品应用中时刻会用到的一些技术点,那么下面就让我们进入正题吧,这一篇我要讲述的

PHP版微信第三方实现一键登录及获取用户信息的方法

本文实例讲述了PHP版微信第三方实现一键登录及获取用户信息的方法.分享给大家供大家参考,具体如下: 注意,要使用微信在第三方网页登录是需要"服务号"才可以哦,所以必须到官方申请. 一开始你需要进入微信公众平台开启开发模式,并且填写oauth2的回调地址,地址填写你项目的域名就可以了.比如:www.baidu.com或zhidao.baidu.com.如果你的项目在二级域名就写二级域名 前端url授权地址,在url中填写appid与你项目中方法中的oauth的地址,具体在下面的代码中可以

微信H5页面嵌入百度地图---解决手机的webKit定位,ios系统对非https网站不提供支持问题

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=yGQt3GBeFuzNIG9OlnOZ3u4A5H3WcSe5"> </script> <script type="text/javascript" src="http://developer.baidu.com/map/jsdemo/demo/con

Xamarin.Android 使用百度地图获取定位信息

最近做一个项目,web端使用百度地图,PDA使用手持机自带的GPS定位系统获取经纬度,然后再百度地图上显示该经纬度会有一定距离的差异,这里就像可乐的瓶子拧上雪碧的盖子,能拧的上却不美观.所以为了数据的精确性,PDA端也用百度地图的接口. 下面主要流程分为以下几步: 新建项目BaiduMapAPIDemo. 下载百度地图 --Android定位SDK . Binging Labrary项目添加相关文件. 注册百度开发平台,创建应用,获取AK. 写入百度提供示例代码. 查看输出结果. 第一步:新建项

(收藏)微信公众平台开发 百度地图导航

一.获取目的地坐标 打开百度地图API 鼠标点击拾取坐标网页,http://developer.baidu.com/map/jsdemo/demo/a6_3.htm,通过先缩小再放大,定位到拾取坐标的建筑物. 以深圳市飞亚达科技大厦为例,定位如下: 鼠标点击大厦名称,获得坐标: 113.962182, 22.544976 这分别表示经度和纬度. 二.百度地图公交.驾车.步行导航 导航接口为 http://api.map.baidu.com/direction //PC&Webapp服务地址 参数

微信公众号开发_如何获取用户信息?

如何获取用户信息? sence: 1)有微信服务认证号,并已开通功能:网页服务>>网页账号>>网页授权获取用户基本信息 2)设置:网页授权获取用户基本信息 后面的 修改 ,设置成 www.jianshu.com [注脚1] 3)用户已经关注公众号 实现功能:获取用户信息userinfo. THINK: 网页授权获取用户基本信息 具体而言,网页授权流程分为四步: 1.引导用户进入授权页面同意授权,获取code 2.通过code换取网页授权access_token(与基础支持中的acc