必应地图显示点击事件经纬度

    必应地图的官方sdk说明文档网址:https://www.bingmapsportal.com/ISDK/AjaxV7#CreateMap1,请仔细研读。

    但是翻遍官方说明文档,并没有展示如何获得事件的经纬度。网上查询好久,均未找到。摸索许久,终于获知。在此粘出,方便他人,亦供自己日后查阅。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
	<head>
		<title>Map with valid credentials</title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
		<script type="text/javascript" src="http://dev.ditu.live.com/mapcontrol/mapcontrol.ashx?v=7.0&amp;mkt=zh-cn"></script>
		<script type="text/javascript">
		var map = null;
            
		function getMap()
		{
			map = new Microsoft.Maps.Map(document.getElementById('myMap'), {
				credentials: 'your credentials', zoom: 3});	//这里修改为你的密码
			Microsoft.Maps.Events.addHandler(map, 'click', displayInfo); 
		}   
	  
		function displayInfo(e){
			//若点击到地图的标记上,而非地图上
			var loc;
            if (e.targetType == "pushpin") {
                loc = e.target.getLocation();
            }
			//若点击到地图上
            else {
				var point = new Microsoft.Maps.Point(e.pageX, e.pageY);
				loc = e.target.tryPixelToLocation(point, Microsoft.Maps.PixelReference.page);
            }
			alert(loc.latitude+", "+loc.longitude);
		} 
		</script>
	</head>
	<body onload="getMap();">
		<div id='myMap' style="width:100%; height:100%;"></div>
	</body>
</html>

    如上代码,可知获得点击地点的经纬度还比较麻烦,得分情况讨论。下面是效果图:

1 条评论

    发表评论

    电子邮件地址不会被公开。 必填项已用 * 标注