获取用户当前位置信息的两种方法——H5、微信
在之前的 调用百度地图API的总结 中获取当前位置信息我用的是 H5 ,其实微信也提供了获取用户地理位置的方法,现将这两种方法都贴出来,看情况选择使用。
一、H5 获取当前地理位置得到经纬度
// H5 获取当前位置经纬度
var location_lon = '',location_lat = ''; // 经度,纬度
if (navigator.geolocation){
navigator.geolocation.getCurrentPosition(function (position) {
location_lon = position.coords.longitude;
location_lat = position.coords.latitude;
// alert('h5经度:'+location_lon);alert('h5纬度:'+location_lat);
});
}else {
alert("您的设备不支持定位功能");
}
二、微信公众平台(地理位置)
微信有获取用户地理位置的接口,在 wx.config 中配置就可以用了:
wx.config({
    debug: true,
    appId: '', // 必填,公众号的唯一标识
    timestamp: , // 必填,生成签名的时间戳
    nonceStr: '', // 必填,生成签名的随机串
    signature: '',// 必填,签名
    jsApiList: ['getLocation'] // 必填,需要使用的JS接口列表
});
获得权限后就可以直接使用 wx.getLocation() 方法获得用户的地理位置了:
wx.getLocation({
   type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
   success: function (res) {
      var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
      var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
      var speed = res.speed; // 速度,以米/每秒计
      var accuracy = res.accuracy; // 位置精度
   }
});
三、地理位置配合地图展示
获得的经纬度可以使用百度地图或者高德地图展示,微信内置地图也可以查看位置:
wx.openLocation({
   latitude: 0, // 纬度,浮点数,范围为90 ~ -90
   longitude: 0, // 经度,浮点数,范围为180 ~ -180。
   name: '', // 位置名
   address: '', // 地址详情说明
   scale: 1, // 地图缩放级别,整形值,范围从1~28。默认为最大
   infoUrl: '' // 在查看位置界面底部显示的超链接,可点击跳转
});
获取用户当前位置信息的两种方法——H5、微信的更多相关文章
- php获取数组中重复数据的两种方法
		
分享下php获取数组中重复数据的两种方法. 1,利用php提供的函数,array_unique和array_diff_assoc来实现 <?php function FetchRepeatMem ...
 - 微信网页开发之获取用户unionID的两种方法--基于微信的多点登录用户识别
		
假设网站A有以下功能需求:1,pc端微信扫码登录:2,微信浏览器中的静默登录功能需求,这两种需求就需要用到用户的unionID,这样才能在多个登录点(终端)识别用户.那么这两种需求下用户的unionI ...
 - C#程序中获取电脑硬件配置信息的一种方法
		
本文介绍获取cpu信息和内存信息的方法,根据本文所举例的代码可以举一反三获取更多信息. 获取cpu名称的方法: public string GetCpuInfo() { ManagementObjec ...
 - PHP获取用户访问IP地址的5种方法
		
IP地址获得的五种方法: <?php //方法1: $ip = $_SERVER["REMOTE_ADDR"]; echo $ip; //方法2: $user_IP = ($ ...
 - Spring Security获取已登录的用户信息的两种方法
		
第一种是直接从session中手动拿: @RequestMapping(value = "/user", method = RequestMethod.GET)public Res ...
 - Java获取客户端真实IP地址的两种方法
		
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实I ...
 - LNAMP架构中后端Apache获取用户真实IP地址的2种方法(转)
		
一.Nginx反向代理配置: 1.虚拟主机配置 复制代码代码如下: location / { try_files $uri @apache;} location @apache {interna ...
 - C#根据字体名通过注册表获取该字体文件路径(win10)两种方法推荐第二种
		
方法一: 直接先上源码: private System.Collections.Generic.SortedDictionary<string, string> ReadFontInfor ...
 - ubuntu为用户增加sudoer权限的两种方法
		
方法一.使用usermod命令 新增user sudo adduser username 增加sudo权限 sudo usermod -aG sudo username sudo usermod -a ...
 
随机推荐
- URLErro和HTTPError
			
url error URLError 产生的原因主要有: 没有网络连接 服务器连接失败 找不到指定的服务器 我们可以用try except语句来捕获相应的异常 from urllib import r ...
 - python中read()、readline()、readlines()区别
			
1.read([size])方法 read([size])方法从文件当前位置读取size个字节,若无参数size,则表示读取至文件结束位置,它范围为字符串对象 2.readline()方法 从字面 ...
 - JavaScript函数封装调用
			
举个列子:我们在写前端页面,经常会使用到Jquery文本框内容,来判断一下输入值是否符合,常见的写法: <script> function test(){ $("#ID" ...
 - CentOS7下编译安装Python3.7.x【亲测有效】
			
所有操作都在root用户下操作 下载安装包 编译安装 建立软链接 验证 安装: 更新yum: yum update 安装Python依赖: yum install openssl-devel bzip ...
 - 二进制部署kubernetes集群(下篇)
			
1.k8S核心资源管理方法 1.1.陈述式资源管理方法 1.1.1.管理名称空间资源 1.1.1.1.查看名称空间 [root@hdss7-21 ~]# kubectl get namespace N ...
 - 【邻接矩阵+基础BFS】PAT-L3-008. 喊山
			
L3-008. 喊山 一个山头呼喊的声音可以被临近的山头同时听到.题目假设每个山头最多有两个能听到它的临近山头.给定任意一个发出原始信号的山头,本题请你找出这个信号最远能传达到的地方.[何为最远?大致 ...
 - webpack 配置react脚手架(四):路由配置
			
1. 由于 react-router 是集成了 react-router-dom 和 react-router-native的一起的,所以这里要使用的是 react-router-dom, 2. 安装 ...
 - Robot Framework--变量
			
Robot Framework的变量分为标量, 列表和字典, 分别使用语法格式 ${SCALAR}, @{LIST} 和 &{DICT} 来定义. 此外, 环境变量可以直接使用语法 %{ENV ...
 - Ajax的简单例子——PHP
			
PHP PHP是一种创建动态交互性站点的服务器端脚本语言 PHP能够生成动态页面内容 PHP能够创建.打开.读取.写入.删除以及关闭服务器上的文件 PHP能够接收表单数据 PHP能够发送并取回cook ...
 - codeforces#572Div2 D1---Add On A Tree【思维】
			
题目:http://codeforces.com/contest/1189/problem/D1 题意:给定一棵树,可以选择任意两个叶子节点对他们的路径增加一定的权值. 问对于给定的这棵树,是否可以得 ...