微信JS-SDK地理位置接口wx.getLocation与wx.openLocation用法详解
本文详解微信JS-SDK中wx.getLocation与wx.openLocation接口的使用方法。通过示例展示如何获取WGS84或GCJ02坐标,并调用内置地图查看位置。文中指出两种类型经纬度小数部分存在微小偏差,且infoUrl链接在测试中可能无效,供开发者参考。
微信JS-SDK地理位置接口概述
本文通过具体实例,详细介绍微信JS-SDK中地理位置接口的应用方法,旨在为读者提供实用的开发参考。
在调用相关接口前,需确保已在wx.config()中完成权限验证,具体可参考官方文档说明。
关于接口的详细规范,请参阅微信官方提供的API文档。
查看位置接口wx.openLocation
微信JS-SDK提供了查看内置地图位置的功能,主要通过wx.openLocation接口实现。
wx.openLocation({
latitude: 0, // 纬度,浮点数,范围为90 ~ -90
longitude: 0, // 经度,浮点数,范围为180 ~ -180。
name: '', // 位置名
address: '', // 地址详情说明
scale: 1, // 地图缩放级别,整形值,范围从1~28。默认为最大
infoUrl: '' // 在查看位置界面底部显示的超链接,可点击跳转
});
获取地理位置接口wx.getLocation
获取用户地理位置的核心接口为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中的infoUrl参数在测试环境中似乎无法正常使用。
//获取地理位置接口
//wgs84 返回4个值,
//gcj02 返回4个值 ,目前两种类型没有太大区别,经纬度的小数部分稍有点偏差
wx.getLocation({
type:'wgs84',//默认为wgs84的gps坐标,
//如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
success:function(res){
var latitude=res.latitude;
var longitude=res.longitude;
var speed=res.speed;
var accuracy=res.accuracy;
appendText('经度:'+latitude+',纬度:'+longitude);
}
});
wx.getLocation({
type:'gcj02',
success:function(res){
//方法1
wx.openLocation(res);
//方法2,详细制定内容
////使用微信内置地图查看位置接口
//wx.openLocation({
// latitude: res.latitude, // 纬度,浮点数,范围为90 ~ -90
// longitude: res.longitude, // 经度,浮点数,范围为180 ~ -180。
// name: '当前位置', // 位置名
// address: '当前地址', // 地址详情说明
// scale: 1, // 地图缩放级别,整形值,范围从1~28。默认为最大
// infoUrl: 'http://www.gongjuji.net' // 在查看位置界面底部显示的超链接,可点击跳转(测试好像不可用)
//});
}
});
最终的位置显示效果如下图所示。

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望上述关于JavaScript程序设计的说明能对各位开发者有所帮助。
Java和JavaScript名字像但没关系?详解两者及HTML的技术分工
2026-11-03 20:24:10
Node.js 中 CommonJS 与 ES Modules 模块规范的区别及使用
2026-11-03 15:35:13
先学JS还是先学Java?全栈开发视角的学习路径规划
2026-11-03 13:35:26
解决Node.js安装后提示“node不是内部或外部命令”
2026-11-03 08:39:43
生产环境升级 Node.js 的风险评估与 LTS 版本选择
2026-11-02 10:30:14
