分享下微信是如何定位的:

本文主要讲解如何利用微信定位,如何将定位到的经纬度转换为百度地图对应的经纬度,以及处理定位失败、取消及错误时的默认做法。//获取地理位置信息start

//封装成一个函数

function getPosition() {

//用ajax请求

$.ajax({

url: "/wechat/jssdk",//请求地址

type: 'post',//post请求

dataType: 'json',

contentType: "application/x-www-form-urlencoded; charset=utf-8",

data: {

'url': location.href.split('#')[0]//将第一个#号前的地址传递

},

//请求成功的函数

success: function (data) {

wx.config({

// debug: true,

appId: data.data.appId,

timestamp: data.data.timestamp,

nonceStr: data.data.nonceStr,

signature: data.data.signature,

jsApiList: ['checkJsApi', 'getLocation']

});

wx.ready(function () {

wx.getLocation({

//获得定位成功

success: function (res) {

//这是微信返回的真正经纬度

var oldLat = res.latitude; // 纬度,浮点数,范围为90 ~ -90

var oldLng = res.longitude; // 经度,浮点数,范围为180 ~ -180。

/*下面是为了将获得的真正经纬度转换为对应的百度经纬度,因为是利用百度地图的经纬度去查询数据的,数据库中存的也是百度的经纬度*/

//创建一个百度地图的点

var customerPoint = new BMap.Point(oldLng, oldLat);

//

var convertor = new BMap.Convertor();

var pointArr = [];//创建一个数组

pointArr.push(customerPoint);//将刚才的点放进去

convertor.translate(pointArr, 1, 5, initMap); //转换坐标

function initMap(data) {

if (data.status === 0) {//转换成功

var point = data.points[0];//得到后的点

var lng = point.lng;//获得转换后的经度

var lat = point.lat;//获得转换后的纬度

toDoFunction(lng, lat);//将经纬度传入到要运用的函数中

} else {

//下面两行是默认定位到西湖的经纬度

lng = 120.141375;

lat = 30.257806;

toDoFunction(lng, lat);//将经纬度传入到要运用的函数中

}

}

},

//取消定位

cancel: function () {

//下面两行是默认定位到西湖的经纬度

var lng = 120.141375;

var lat = 30.257806;

toDoFunction(lng, lat);//将经纬度传入到要运用的函数中

},

//定位失败

fail: function () {

//下面两行是默认定位到西湖的经纬度

var lng = 120.141375;

var lat = 30.257806;

toDoFunction(lng, lat);//将经纬度传入到要运用的函数中

}

});

//定位发生错误

wx.error(function () {

//下面两行是默认定位到西湖的经纬度

var lng = 120.141375;

var lat = 30.257806;

toDoFunction(lng, lat);//将经纬度传入到要运用的函数中

});

});

}

});

}

以上代码,如果可以定位到就用定位到的真正的经纬度,再转换成百度地图对应的经纬度,如果定位失败或者是点击取消或者发生错误,则默认定位到西湖的经纬度。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php微信定位功能,JavaScript微信定位功能实现方法相关推荐

  1. 企业微信来了,尽管“定位打卡”功能愁死个人,但它有可能逼死一个产业

    昨日铺天盖地的消息,企业微信发布了,并支持iOS.Android.Windows.Mac四个平台,涵盖了一切主流的办公系统.本人机缘巧合参与了企业微信的内测,成为企业微信的第一批企业使用用户.这里从一 ...

  2. 微信小程序实现简单定位功能

    微信小程序实现简单定位功能,简单易读,获取经纬度信息 在pages下创建一个单页如local local.js如下 var app = getApp() Page({ data:{latitude:' ...

  3. 微信小程序后台持续定位功能使用

    微信小程序团队在7月30日更新了 基础库 2.8.0 其中新添加了小程序后台持续定位功能和联系定位的接口 从上到下分别是 1.wx.onLocationChange//监听位置实时变化 2.wx.st ...

  4. 【安信可A9G专题②】A9G在微信公众号上的定位功能笔记分享;

    本系列博客学习由 安信可科技 - 官方博客 技术分享,如有疑问请留言或联系邮箱. 1.A9G环境在windows上搭建并编译,串口打印 Hello GPRS 2.A9G在微信公众号上的定位功能笔记分享 ...

  5. 微信小程序后台持续定位功能使用详解

    微信小程序团队在7月30日更新了 基础库 2.8.0 其中新添加了小程序后台持续定位功能和联系定位的接口 从上到下分别是 1.wx.onLocationChange//监听位置实时变化 2.wx.st ...

  6. 怎样打开微信定位服务器地址,微信位置服务功能,能知道对方位置,你们知道怎么用吗!...

    我们是经常使用微信了,实际微信隐藏着一个位置的一个功能,不管在什么地方,都可以实时知道对方的位置信息,尤其是家里的老人和孩子,一定要学会该怎么操作呢?带大家一起来看一下.微信究竟隐藏着哪些实用的功能呢 ...

  7. 微信定位当前城市 php,html5,javascript_微信内置浏览器如何定位用户所在城市,html5,javascript - phpStudy...

    微信内置浏览器如何定位用户所在城市 我的代码这样写的,但是有个问题,在wifi网络下可以正确定位(杭州),但是把网络切换到移动网络比喻4G网络就不准确了,我在杭州,但是定位显示温州. $(functi ...

  8. 用javascript实现以下功能!_用python80行代码实现一个微信消息撤回捕捉功能

    自从微信出了这个消息撤回功能小编我都已经快被折磨死了,小编本来就是个好奇心比较重的人,微信出了这个功能之后小编感觉身体一天不如一天了,每次看着女神发来的信息又撤回,可谓是心里痒痒啊.所以小编就写了一个 ...

  9. IM热门功能讨论:为什么微信里没有消息“已读”功能?...

    本文原文由"狼和哈士奇"原创分享,本次内容有改动. 1.引言 张小龙说:微信消息不做"已读"和"未读"的功能,是因为要给人撒谎的机会,这才符 ...

  10. 产品案例:这些呼声很高功能,微信为何还不做?

    微信近期上线的一些小功能,有些让人拍手称快,有些让人迷惑. 比如个人状态中新增限时状态「冲」,来让用户表达对我国航天事业的自豪情绪. 比如PC端发布.查看朋友圈,减少用户在电脑前还要来回切换手机和电脑 ...

最新文章

  1. C中strcpy函数实现
  2. Spring Cloud - 服务消费者Ribbon
  3. 【NOIP2015】斗地主 题解
  4. php实现工厂模式,PHP基于工厂模式实现的计算器实例
  5. android 桌面文件夹ui美化
  6. POJ 2762 Going from u to v or from v to u? (判断单连通)
  7. Python基础----NumPy
  8. Java多线程-生产者消费者问题(多个消费者多个生产者)
  9. OpenJudge百炼-1183-反正切函数的应用-C语言-简单计算
  10. Weka中数据挖掘与机器学习系列之Exploer界面(七)
  11. 3-8 如何使用图片 CDN 优化图片
  12. 华为服务器L型滑道安装步骤讲解
  13. 学PS基础:Photoshop 技能167个
  14. 25道Python工程师面试必备知识点!
  15. beyond Compare 4免费破解方法
  16. 生成式模型与辨别式模型
  17. 60.left join(左连接)
  18. 对象在内存中的存储基本类型和包装类java类型转换
  19. Corral the Cows赶牛入圈(二维离散化)
  20. 【PgSQL安装(含配置)】PostgreSQL简称PgSQL,是1980以加利福尼亚大学开发的DBMS,严格遵守标准SQL。...

热门文章

  1. hprose php用户手册,07 Hprose 服务器事件
  2. 电工知识:常用电子元件名称及其对应图片实用大全
  3. 计算机电缆和屏蔽线的区别,屏蔽线
  4. 面试Vue架构师,封装一个万能表单生成器
  5. 运放参数的详细解释和分析-part24, 输出阻抗Ro和Rout
  6. AI芯片发展的前世今生
  7. 计算机屏幕上的显示记录,什么样的桌面日历便笺既可以显示日期又可以提醒我所记录的时间表...
  8. XLua系列讲解_Helloworld
  9. 什么是html文件?html格式如何打开?(图文讲解)
  10. python海龟交易源码_海龟交易系统的Python完全版 | RiceQuant米筐量化社区 交易策略论坛...