zoukankan      html  css  js  c++  java
  • 腾讯地图选点组件使用示例

    本文主要使用到的功能为:

    1、选择地址发送(地图选点组件

    2、实时地址静态图

    3、地图调起
    ,手机查看

    选址组件主要是选地点的信息,如下:

    在js或者数据库中保存这些信息,静态图片和地图API的调起就要用到这些信息,主要还是经纬度。

    可以用在聊天发送定位的功能中。

    Demo中把key替换成你的key

    key申请地址:https://lbs.qq.com/dev/console/key/manage

    <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、选址的过程中,拖拽地图时,虽然下面的地址列表会跟着更新,但是不会默认第一个,还需要点击一下地址列表。不像微信一样在拖拽过程中会默认第一个,拖拽完就可以点击发送。如果要做跟微信一样的功能,在拖拽后就需要点击一下地址列表,再点击发送。目前地图组件不支持自定义,例如拖拽地图的事件。

    2、地图选点组件是有定位功能的,在你打开地图时,第一个会显示“我的位置”。

    对象的数据也是显示“我的位置”,如果你是把定位发给别人。别人看到也会是“我的位置”。可以这么处理,在选完地址后,判断一下poiname的值是不是等于“我的位置”,如果是则把poiaddress的值赋值给poiname(这里因为是电脑定位,所有没有准确和没有详细的地址)。

    作者:啊林博士

    链接:https://blog.csdn.net/Doctor_LY/article/details/86677607

    来源:CSDN

    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    Chandy-Lamport_algorithm
    3 differences between Savepoints and Checkpoints in Apache Flink
    列数 行数 表数 限制
    数据收集、传输、元数据管理、作业流调度、海量数据查询引擎、数据可视化
    分析云负载均衡产品
    端口被占用通过域名的处理 把www.domain.com均衡到本机不同的端口 反向代理 隐藏端口 Nginx做非80端口转发 搭建nginx反向代理用做内网域名转发 location 规则
    JSON Web Token
    查看开启端口的应用
    If the parts of an organization (e.g., teams, departments, or subdivisions) do not closely reflect the essential parts of the product, or if the relationship between organizations do not reflect the r
    微服务架构的理论基础
  • 原文地址:https://www.cnblogs.com/Dreamholder/p/14281567.html
Copyright © 2011-2022 走看看