调用百度地图

来源:互联网 发布:生物制药 财务战略矩阵 编辑:程序博客网 时间:2024/06/05 16:22
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="keywords" content="" />
<meta name="description" content="百度地图API自定义地图,帮助用户在可视化操作下生成百度地图" />
<title>百度地图API自定义地图</title>
<!--引用百度地图API-->
<style type="text/css">
    html,body{margin:0;padding:0;}
    .iw_poi_title {color:#CC5522;font-size:14px;font-weight:bold;overflow:hidden;padding-right:13px;white-space:nowrap}
    .iw_poi_content {font:12px arial,sans-serif;overflow:visible;padding-top:4px;white-space:-moz-pre-wrap;word-wrap:break-word}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?key=&v=1.1&services=true"></script>
</head>


<body>
<div><span>您选择的地址为:</span> <input id="currentAddress" type="text"></input><input type="button" value="搜索" onclick="search()" /><button id="xuanzhong">选中</button></div>
  <!--百度地图容器-->
  <div style="width:697px;height:550px;border:#ccc solid 1px;" id="dituContent"></div>
</body>
<script type="text/javascript">
var city;
    var opts = {
      width : 100,     // 信息窗口宽度
      height: 50,     // 信息窗口高度
      title : "IBM中国股份有限公司"  // 信息窗口标题
    }
    //创建和初始化地图函数:
    function initMap() {

        createMap(); //创建地图
        setMapEvent(); //设置地图事件
        addMapControl(); //向地图添加控件
    }

 // 编写自定义函数,创建标注point设置坐标点的,index设置选中坐标上面的图片(例如:0代表红色的A,1代表红色的B)
    function addMarker(point, index) {
        var myIcon = new BMap.Icon("http://api.map.baidu.com/img/markers.png", new BMap.Size(23, 25), {
            offset: new BMap.Size(10, 25),                  // 指定定位位置
            imageOffset: new BMap.Size(0, 0 - index * 25)   // 设置图片偏移
        });
        var marker = new BMap.Marker(point, { icon: myIcon });
        map.addOverlay(marker);
    }


    //创建地图函数:
    function createMap() {
        var map = new BMap.Map("dituContent"); //在百度地图容器中创建一个地图
        var point = new BMap.Point(118.776349,32.070945); //定义一个中心点坐标
        map.centerAndZoom(point, 13); //设定地图的中心点和坐标并将地图显示在地图容器中
        window.map = map; //将map变量存储在全局

city = new BMap.LocalSearch(map, { renderOptions: { map: map, autoViewport: true} }); //地图显示到查询结果处


        //向地图添加标注
        var bounds = map.getBounds();       


        var point = new BMap.Point(118.776349,32.070945);
        var marker = new BMap.Marker(point);
        var label = new BMap.Label('南京',{"offset":new BMap.Size(9,-15)});
        marker.setLabel(label);
        map.addOverlay(marker);
//给选中点添加点击事件
       // marker.addEventListener("click", function(){this.openInfoWindow(new BMap.InfoWindow("南京", opts));});
//添加地图点击事件
var myGeo = new BMap.Geocoder();
map.addEventListener("click", function(e){   
//alert(e.point.lng+'/'+e.point.lat);
   var point2 = new BMap.Point(e.point.lng,e.point.lat); //当前选中点的坐标
map.clearOverlays();
addMarker(point2, 0); 
myGeo.getLocation(point2, function(result){
if (result){ 
document.getElementById("currentAddress").value = result.address;
}  
});

}); 
    }
  


    //地图事件设置函数:
    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);
    }
    initMap(); //创建和初始化地图

function search(){
var s = document.getElementById("currentAddress").value;
        city.search(s); //查找城市
}
function selectAdrress(){
alert(document.getElementById("currentAddress").value);
}
</script>
</html>
0 0
原创粉丝点击