百度地图点击地点显示经纬度并且转换为百度地址及添加控件
2017-08-09 17:15
447 查看
一、百度地图初始化及添加基本控件
1.引入地图包
地图包网址的ak属性是你在百度地图开放平台上申请的密钥<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=/*你的密钥*/"></script>
2.初始化地图
var map = new BMap.Map("allmap"); // 创建Map实例 map.centerAndZoom("天津",14); // 初始化地图,设置城市和地图级别。
3.添加控件
//地图事件设置函数: function setMapEvent(){ map.enableDragging();//启用地图拖拽事件,默认启用(可不写) map.enableScrollWheelZoom();//启用地图滚轮放大缩小 map.enableDoubleClickZoom();//启用鼠标双击放大,默认启用(可不写) map.enableKeyboard();//启用键盘上下左右键移动地图 } //地图控件添加函数: function addMapControl(){ //向地图中添加缩放控件 var ctrl_nav = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE}); map.addControl(ctrl_nav); //向地图中添加缩略图控件 var ctrl_ove = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:1}); map.addControl(ctrl_ove); //向地图中添加比例尺控件 var ctrl_sca = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT}); map.addControl(ctrl_sca); }
二、单击地点后经纬度转换为地址
//监听单击事件 map.addEventListener("click",function(e){ map.clearOverlays(); // alert(e.point.lng + "," + e.point.lat); point = new BMap.Point(e.point.lng, e.point.lat); var geoc = new BMap.Geocoder(); geoc.getLocation(point,function(rs){ var addComp = rs.addressComponents; // alert(addComp.province + ", " + addComp.city + "," + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber); console.log(addComp); }); var marker = new BMap.Marker(point); map.addOverlay(marker); document.getElementById("allmap").value = e.point.lng+ "," + e.point.lat; });
三、完整代码如下
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
body, html,#allmap {width: 100%;height: 95%;overflow: hidden;margin:0;font-family:"微软雅黑";}
</style>
<!--引入地图包,地图包网址的ak属性是你在百度地图开放平台上申请的秘钥-->
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=/*你的密钥*/"></script>
<!--引入jquery-->
<script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
<title>地址解析</title>
</head>
<body>
<!--我们要在这里创建地图实例,这个div容器的id属性会在后面用到-->
<div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
// 百度地图API功能
var map = new BMap.Map("allmap"); // 创建Map实例
map.centerAndZoom("天津",14); // 初始化地图,设置城市和地图级别。
setMapEvent();
addMapControl();
//地图事件设置函数: function setMapEvent(){ map.enableDragging();//启用地图拖拽事件,默认启用(可不写) map.enableScrollWheelZoom();//启用地图滚轮放大缩小 map.enableDoubleClickZoom();//启用鼠标双击放大,默认启用(可不写) map.enableKeyboard();//启用键盘上下左右键移动地图 } //地图控件添加函数: function addMapControl(){ //向地图中添加缩放控件 var ctrl_nav = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE}); map.addControl(ctrl_nav); //向地图中添加缩略图控件 var ctrl_ove = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:1}); map.addControl(ctrl_ove); //向地图中添加比例尺控件 var ctrl_sca = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT}); map.addControl(ctrl_sca); }
//监听单击事件 map.addEventListener("click",function(e){ map.clearOverlays(); // alert(e.point.lng + "," + e.point.lat); point = new BMap.Point(e.point.lng, e.point.lat); var geoc = new BMap.Geocoder(); geoc.getLocation(point,function(rs){ var addComp = rs.addressComponents; // alert(addComp.province + ", " + addComp.city + "," + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber); console.log(addComp); }); var marker = new BMap.Marker(point); map.addOverlay(marker); document.getElementById("allmap").value = e.point.lng+ "," + e.point.lat; });
</script>
相关文章推荐
- js 调用百度地图,并且定位用户地址,显示省市区街,经纬度
- js 调用百度地图,并且定位用户地址,显示省市区街,经纬度
- 百度地图经纬度转换+反地址解析+显示可视区域内标注点+地图自动刷新+标注的聚合
- 百度地图:为标记添加点击事件显示标注
- 百度地图显示经纬度和中文地址
- IOS 自定义UIBUTTON 直接拖个xib 就能在button上显示多行文本 并且添加了点击的效果
- 百度定位(不显示界面获取经纬度以及详细地址信息)
- 百度API从经纬度坐标到地址的转换服务
- IOS 自定义UIBUTTON 直接拖个xib 就能在button上显示多行文本 并且添加了点击的效果
- 关于LinnerLayout动态添加的控件 并且给子控件动态设置Id 、点击的问题
- C# 如何定义让PropertyGrid控件显示[...]按钮,并且点击后以下拉框形式显示自定义控件编辑属性值
- 如何通过百度地图将经纬度转换为地址信息
- C# 如何定义让PropertyGrid控件显示[...]按钮,并且点击后以下拉框形式显示自定义控件编辑属性值
- google map api v3点击地图获取经纬度地址,设置地图显示经纬度地址
- 点击百度地图上任意一点,显示该点的经纬度的信息窗
- GPS经纬度及谷歌地图坐标转换为百度地图坐标,解决地图显示经纬度的偏移问题
- Adroid利用百度地图将经纬度转换为地址信息
- 如何通过百度地图将经纬度转换为地址信息
- java通过百度地图把实际地址转换为经纬度
- java通过百度地图把实际地址转换为经纬度