概述
一、百度地图初始化及添加基本控件
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>
最后
以上就是魁梧墨镜为你收集整理的百度地图点击地点显示经纬度并且转换为百度地址及添加控件的全部内容,希望文章能够帮你解决百度地图点击地点显示经纬度并且转换为百度地址及添加控件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复