用户定位JSSDK获取用户经度纬度配合腾讯地图组件

2024-02-01 10:08

本文主要是介绍用户定位JSSDK获取用户经度纬度配合腾讯地图组件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

function mapBtn() {                                     //封装的地图  函数调用var localUrl = window.location.href;var appid,timestamp,nonceStr,signature;$.ajax({url:apiUrl+"jssdk",type:'post',dataType:'json',crossDomain: true,async: false,data:{url: localUrl},success:function(response){if (response.code == 200){//var info = response.data.jsApiParameters);appid = response.data.appId;timestamp = response.data.timestamp;nonceStr = response.data.nonceStr;signature = response.data.signature;}}});//设置朋友圈和朋友两种分享方式
wx.config({debug: false,   // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。appId: appid,   // 必填,公众号唯一标识timestamp: timestamp,   //必填,生成签名的时间戳nonceStr: nonceStr,     //必填,生成签名的随机串signature: signature,   //必填,签名,见附录1jsApiList: ['checkJsApi',               //判断当前客户是否支持指定JS接口'getLocation',              //微信定位'openLocation','chooseImage']           //必填,需要使用的JS接口列表,所有JS接口列表见附录2
});//接口处理失败验证
wx.error(function(res){$.alert(res.errMsg)
});
//接口处理成功
wx.ready(function() {wx.checkJsApi({jsApiList: ['getLocation'],success: function (res) {if (res.checkResult.getLocation == false) {alert('你的微信版本太低,不支持微信JS接口,请升级到最新的微信版本!');return;}}});wx.getLocation({type: 'gcj02', // 默认为wgs84的gps坐标success: function (res) {var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。var speed = res.speed; // 速度,以米/每秒计var accuracy = res.accuracy; // 位置精度// var geocoder = new qq.maps.Geocoder({//     complete: function (result) {? ?//解析成功的回调函数//         var address = result.detail.address.substring(5);? //获取详细地址信息?//         // console.log(address)//     }// });$(".map_show").css("display","none");           //隐藏主页面  插入地图var srcs = 'https://apis.map.qq.com/tools/locpicker?search=1&type=1&coord='+latitude+','+longitude+'&key=腾讯地图key6&referer=myapp';var str = "";str += `<iframe id="mapPage" width="100%" height="600px" frameborder=0src= ${srcs}></iframe>`;$("body").append(str);              //把地图插入页面中},cancel: function (res) {alert('用户拒绝授权获取地理位置');}});
});

}
引入文件

<script src="js/base.js"></script>
<script src="http://res2.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
<script charset="utf-8" src="http://map.qq.com/api/js?v=2.exp&key=腾讯地图key"></script>

window.addEventListener(‘message’, function(event) {
// 接收位置信息,用户选择确认位置点后选点组件会触发该事件,回传用户的位置信息
var loc = event.data;
if (loc && loc.module == ‘locationPicker’) {//防止其他应用也会向该页面post信息,需判断module是否为’locationPicker’
// console.log(‘location’, loc);
$(".map_show").css(“display”,“block”); //用户确认地址销毁地图
$(“iframe”).remove(); //用户确认地址销毁地图
//全局接收用户位置
console.log(loc)
}
}, false);

这篇关于用户定位JSSDK获取用户经度纬度配合腾讯地图组件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/666924

相关文章

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

C#实现获取电脑中的端口号和硬件信息

《C#实现获取电脑中的端口号和硬件信息》这篇文章主要为大家详细介绍了C#实现获取电脑中的端口号和硬件信息的相关方法,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 我们经常在使用一个串口软件的时候,发现软件中的端口号并不是普通的COM1,而是带有硬件信息的。那么如果我们使用C#编写软件时候,如

C#实现WinForm控件焦点的获取与失去

《C#实现WinForm控件焦点的获取与失去》在一个数据输入表单中,当用户从一个文本框切换到另一个文本框时,需要准确地判断焦点的转移,以便进行数据验证、提示信息显示等操作,本文将探讨Winform控件... 目录前言获取焦点改变TabIndex属性值调用Focus方法失去焦点总结最后前言在一个数据输入表单

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

python中os.stat().st_size、os.path.getsize()获取文件大小

《python中os.stat().st_size、os.path.getsize()获取文件大小》本文介绍了使用os.stat()和os.path.getsize()函数获取文件大小,文中通过示例代... 目录一、os.stat().st_size二、os.path.getsize()三、函数封装一、os

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

基于Qt Qml实现时间轴组件

《基于QtQml实现时间轴组件》时间轴组件是现代用户界面中常见的元素,用于按时间顺序展示事件,本文主要为大家详细介绍了如何使用Qml实现一个简单的时间轴组件,需要的可以参考下... 目录写在前面效果图组件概述实现细节1. 组件结构2. 属性定义3. 数据模型4. 事件项的添加和排序5. 事件项的渲染如何使用

python获取当前文件和目录路径的方法详解

《python获取当前文件和目录路径的方法详解》:本文主要介绍Python中获取当前文件路径和目录的方法,包括使用__file__关键字、os.path.abspath、os.path.realp... 目录1、获取当前文件路径2、获取当前文件所在目录3、os.path.abspath和os.path.re