百度地图点击地点显示经纬度并且转换为百度地址及添加控件
来源:互联网 发布:域名需要购买解析吗 编辑:程序博客网 时间:2024/05/14 22:52
一、百度地图初始化及添加基本控件
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>
阅读全文
1 0
- 百度地图点击地点显示经纬度并且转换为百度地址及添加控件
- 百度地图,点击地图获取经纬度和地点
- GPS经纬度及谷歌地图坐标转换为百度地图坐标,解决地图显示经纬度的偏移问题
- java通过百度地图把实际地址转换为经纬度
- java通过百度地图把实际地址转换为经纬度
- Adroid利用百度地图将经纬度转换为地址信息
- Android 百度地图经纬度转换成地址
- Android 百度地图经纬度转换成地址
- Android 百度地图经纬度转换成地址
- 百度地图显示经纬度和中文地址
- js 调用百度地图,并且定位用户地址,显示省市区街,经纬度
- 百度地图API地点搜索-获取经纬度
- 百度地图API地点搜索-获取经纬度
- 百度地图api--根据经纬度获取地点
- 百度地图根据地点获取经纬度
- 百度地图:为标记添加点击事件显示标注
- 百度地图JS-API:点击获取经纬度以及地址
- 百度地图 经纬度批量转换
- RocketMQ(三)——HelloWorld
- 18.图像用户界面入门:EasyGui
- LeetCode 86 Partition List (Python详解及实现)
- 地震中哪些机器人能参与应急救援
- 暑期 tensorflow 小练 mnist
- 百度地图点击地点显示经纬度并且转换为百度地址及添加控件
- Unity调用Android的Java方法
- js中的那些数组处理函数区别及用法总结
- [C++11]左值、右值、左值引用、右值引用小结
- 【字符串入门专题1】F
- BigDecimal 加减乘除
- dubbo demo
- C++中指针和引用的区别
- js核心基础之原型对象以及原型继承(三)