腾讯地图发送定位-打开定位功能
用到的是腾讯地图API,主要的功能:
1.选择地址发送(地图选址组件 https://lbs.qq.com/tool/component-picker.html)
2.实时地址静态图(https://lbs.qq.com/static_v2/index.html)
3.地图调起 (https://lbs.qq.com/uri_v1/guide.html)
手机查看
选址组件主要是选地点的信息,如下
在js或者数据库中保存这些信息,静态图片和地图API的调起就要用到这些信息,主要还是经纬度。
可以用在聊天发送定位的功能中。
Demo中把key替换成你的key
<html><meta charset="utf-8"><meta http-equiv="Cache-Control" content="no-siteapp" /><meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" /><meta content="telephone=no" name="format-detection" /><script type="text/javascript" src="js/jquery-1.11.3.min.js"></script><head><meta charset="utf-8"><title></title></head><style type="text/css">#mapPage {display: none;}</style><body><div><a id="lookLoc" href="https://apis.map.qq.com/uri/v1/marker?marker=coord:22.51595,113.3926;title:接收的地位;addr:中山市政府&referer=myapp">点击查看位置</a><img id="imgLoc" src="https://apis.map.qq.com/ws/staticmap/v2/?center=22.520843533080377,113.38995007717672&zoom=12&size=150*75&scale=2&maptype=roadmap&markers=size:large|color:red|22.520843533080377,113.38995007717672&key=you key"alt="定位地图" onclick="lookLoc()" /><br/><div id="locInfo"></div></div><input type="button" value="发送定位" id="send" /><iframe id="mapPage" width="100%" height="100%" frameborder=0 src="https://apis.map.qq.com/tools/locpicker?search=1&type=1&total=1&key=you key&effect=zoom&referer=rcwwap"></iframe></body>
</html>
<script>var hrefStr = "https://apis.map.qq.com/uri/v1/marker?";var imgSrc = "https://apis.map.qq.com/ws/staticmap/v2/?center=";var imgSrc2 = "&zoom=16&size=150*75&scale=2&maptype=roadmap&markers=size:large|color:red|";var imgStr3 = "&key=you key";var pointStr = "";$(document).ready(function() {var loc;$("#mapPage").hide();$("#send").click(function() {$('#mapPage').attr('src', $('#mapPage').attr('src'));$("#mapPage").css("display", "inline-block");})});window.addEventListener('message', locationPicker, false);//选址function locationPicker(event) {// 接收位置信息,用户选择确认位置点后选点组件会触发该事件,回传用户的位置信息loc = event.data;console.log('locationassa', loc);console.log("注册message事件");if (loc && loc.module == 'locationPicker') { //防止其他应用也会向该页面post信息,需判断module是否为'locationPicker'console.log('选址location', loc);$("#mapPage").hide();pointStr = loc.latlng.lat + "," + loc.latlng.lng;$("#locInfo").text(pointStr + " " + loc.poiname + " " + loc.poiaddress);$("#lookLoc").attr("href", hrefStr + "marker=coord:" + pointStr + ";title:" + loc.poiname + ";addr:" + loc.poiaddress +"&referer=myapp");$("#imgLoc").attr("src", imgSrc + pointStr + imgSrc2 + pointStr + imgStr3);alert("选址成功");}}
</script>
个人认为缺陷:
1.在选址的过程中,拖拽地图时,虽然下面的地址列表会跟着更新,但是不会默认第一个,还需要点击一下地址列表。不像微信一样在拖拽过程中会默认第一个,拖拽完就可以点击发送。如果要做跟微信一样的功能,在拖拽后就需要点击一下地址列表,再点击发送,相信很多人会直接点击发送按钮的。虽然这个腾讯这个地图选址组件封装了挺多功能,但是除了几个接口参数和一个if (loc && loc.module == 'locationPicker')监听事件外,找不到其他可以扩展的地方,例如拖拽地图的事件。
2.这个地图选址组件是有定位功能的,在你打开地图时,第一个会显示“我的位置”。
连对象的数据都是显示“我的位置”,如果你是把定位发给别人。别人看到也会是“我的位置”。显然是不行的,这个问题我的处理方式是,在选完地址后,判断一下poiname的值是不是等于“我的位置”,如果是则把poiaddress的值赋值给poiname(这里因为是电脑定位,所有没有准确和没有详细的地址)
腾讯地图发送定位-打开定位功能相关推荐
- Vue引入腾讯地图(搜索获取定位)
效果: 申请腾讯地图 1.首先进入腾讯位置服务登陆/注册,地址:https://lbs.qq.com/ 2.进入控制台,点击左侧菜单应用管理-我的应用,点击右上方创建应用,填写内容如下 WebServ ...
- 【微信小程序】调用腾讯地图获取当前城市定位
前导知识 1. 腾讯地图SDK接入 1. 申请开发者密钥 打开网址 https://lbs.qq.com/console/key.html,申请密钥,填写信息单击"提交"按钮,弹出 ...
- 利用高德地图和腾讯地图的详细地址定位
今天要说的基于浏览器的定位,是通过高德地图通过浏览器定位来获取经纬度,然后利用腾讯地图的逆地址解析,将经纬度解析为详细的地址,使用高德地图时,需要先去高德开发者平台申请key码. 代码如下: < ...
- vue接入腾讯地图(二)【标注定位实战】
vue接入腾讯地图(一)[点击事件]请参考: https://blog.csdn.net/weixin_45628602/article/details/108401673 1.[标注] 添加标注 v ...
- h5精准定位_手机端H5地理定位结合腾讯地图API实现精准定位!
最近项目需求,需要精准定位,但是网上搜了好久都没有解决办法,当然微信定位的方案还是可行的,手机H5 就没有这方面的教程了. 捣鼓好久啊,花了一早上的时间研究出来了.这里有个大坑,要开启手机的定位才能获 ...
- 有关于腾讯地图服务端IP定位接口的获取当前城市的处理
接口说明:http://apis.map.qq.com/ws/location/v1/ip 说明里面写了ip可以缺省,然并卵,经过测试的到结果并不能获取到当前城市,理由是腾讯ip库的对应ip精度没有定 ...
- 腾讯地图经纬度选择和图层功能
效果展示: 功能实现: <%@ page language="java" contentType="text/html; charset=UTF-8" p ...
- 腾讯地图拾取坐标html,腾讯地图Api 实现拾取坐标功能示例
一.注册Api账号,引用js库 二.编写坐标拾取js代码和html代码 //按钮定义 *坐标: 经度 纬度 点击坐标拾取 //弹出框定义 × 拖动位置标记设置坐标 确定 js代码示例 //选择坐标处理 ...
- 腾讯地图Api 实现拾取坐标功能示例
一.注册Api账号,引用js库 <script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp& ...
最新文章
- 活用"端口碰撞技术"---远程管理的好方式
- python爬虫案例讲解-Python爬虫案例集合
- Windows把内存变成快速虚拟硬盘
- 整数数组中最大子数组求和02
- 力扣- -阶乘函数后K个零
- [Java基础]反射获取成员方法并使用练习
- php获取继承类方法吗,php如何获取当前类名,继承中的问题?
- 残疾人软件开发_残疾人应该使用Linux的6个理由
- 题解 牛客【「水」悠悠碧波】
- linux 常用到的命令(centos 6.5)
- OSPF特殊区域及LSA类型详解
- OrCAD(三)电路仿真
- 互联网晚报 | 7月10日 星期天 | 快手官宣:7月18日周杰伦独家直播;​400亿额度,秒光!7月总票房破10亿...
- 单光感pid巡线_PID非常好的光感巡线思路
- ValueError: bad transparency mask
- 详述Android马甲包
- 小白也能懂的hadoop生态圈,很黄很暴力!
- 三星全新的AI 芯片投入生产,业界首创深度学习处理能力
- 2. Hibernate目录结构和基础JAR包介绍
- 给祖国母亲庆生——软件工程总结
热门文章
- 误操作导致系统进不去得重装,C盘资料没备份?!别慌,还有救!-200820
- iView级联选择器Cascader回显慢的问题
- 新年最美表白烟花-祝大家新年快乐,表白成功
- linux网线插拔后ip地址丢失,网线拔掉检测,嵌入式网线直连开发板断电网线拔掉之后,上电仍能自动设置static静态ip地址...
- 参考文献为外文文献时应该采用什么格式啊?
- Office 2016 VOL版安装文件
- Android App 耗电量分析-1
- 天津城建大学计算机学院官网,天津城建大学计算机与信息工程学院研究生导师简介-杨振舰...
- 使用阿里云创建个人云盘
- Elasticsearch:理解 Elasticsearch 中的 Percolator 数据类型及 Percolate 查询