实例介绍
【实例简介】
【实例截图】
【核心代码】
<!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小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论