实例介绍
【实例简介】
【实例截图】
【核心代码】
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <style type="text/css"> body, html { width: 100%; height: 100%; margin: 0; font-family: "微软雅黑"; } #allmap { width: 100%; height: 80%; } #r-result { width: 100%; margin-top: 5px; background-color:bisque; } </style> <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.5&ak=MoAUNvjktXUVrEciaUv0EoWc9hm9GrTm"></script> <title>百度地图定位</title> </head> <body> <div id="allmap"></div> <div id="r-result"> <input type="button" onclick="add_control();" value="添加控件" /> <input type="button" onclick="delete_control();" value="删除控件" /><br /><br/> <input id="geo_name" type="text" value="" /> <input type="button" onclick="searchPosition()"; value="地址解析" /><br /><br /> <input type="button" onclick="remove_overlay()"; value="清除覆盖物" /> </div> </body> </html> <script type="text/javascript"> //地图 //指定中心点加载地图 var map = new BMap.Map("allmap"); // 创建Map实例 var point = new BMap.Point(113.001217, 28.137689); // 创建林科大点坐标(经度,纬度) map.centerAndZoom(point, 18); // 初始化地图,设置中心点坐标和地图大小级别 //添加覆盖物在地图上 var marker = new BMap.Marker(point); // 创建标注 map.addOverlay(marker); //添加动画标注点 marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画 //map.centerAndZoom("长沙市", 11); // 用城市名设置地图中心点 map.enableScrollWheelZoom(true); //启用滚轮放大缩小 //逆地址解析(鼠标点击事件) var geoc = new BMap.Geocoder(); map.addEventListener("click", function (e) { var pt = e.point; map.addOverlay(new BMap.Marker(pt)); geoc.getLocation(pt, function (rs) { var addComp = rs.addressComponents; alert(addComp.province ", " addComp.city ", " addComp.district ", " addComp.street ", " addComp.streetNumber pt.lng 'E,' pt.lat 'N'); }); }); //定位 // 添加定位控件 var geolocationControl = new BMap.GeolocationControl(); geolocationControl.addEventListener("locationSuccess", function (e) { // 定位成功事件 var address = ''; address = e.addressComponent.province; address = e.addressComponent.city; address = e.addressComponent.district; address = e.addressComponent.street; address = e.addressComponent.streetNumber; alert("当前定位地址为:" address); }); geolocationControl.addEventListener("locationError", function (e) { // 定位失败事件 alert(e.message); }); map.addControl(geolocationControl); //清除所有覆盖物 function remove_overlay() { map.clearOverlays(); } //地址解析事件 function searchPosition() { // 创建地址解析器实例 var myGeo = new BMap.Geocoder(); //获取文本框内容 var geoName = document.getElementById("geo_name").value; // 将地址解析结果显示在地图上,并调整地图视野 myGeo.getPoint(geoName, function (point) { if (point) { map.centerAndZoom(point, 16); map.addOverlay(new BMap.Marker(point)); } else { alert("您选择的地址没有解析到结果!"); } }, "长沙市"); } var top_left_control = new BMap.ScaleControl({ anchor: BMAP_ANCHOR_TOP_LEFT });// 左上角,添加比例尺 var top_left_navigation = new BMap.NavigationControl(); //左上角,添加默认缩放平移控件 var top_right_navigation = new BMap.NavigationControl({ anchor: BMAP_ANCHOR_TOP_RIGHT, type: BMAP_NAVIGATION_CONTROL_SMALL }); //右上角,仅包含平移和缩放按钮 /*缩放控件type有四种类型: BMAP_NAVIGATION_CONTROL_SMALL:仅包含平移和缩放按钮;BMAP_NAVIGATION_CONTROL_PAN:仅包含平移按钮;BMAP_NAVIGATION_CONTROL_ZOOM:仅包含缩放按钮*/ //添加控件和比例尺的方法定义 function add_control() { map.addControl(top_left_control); map.addControl(top_left_navigation); map.addControl(top_right_navigation); } //移除控件和比例尺的方法定义 function delete_control() { map.removeControl(top_left_control); map.removeControl(top_left_navigation); map.removeControl(top_right_navigation); } </script>
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论