首页 > 代码库 > 调用百度地图

调用百度地图

偶也能做百度地图了,嘻嘻,赞一个,废话不多说,代码敬上:

  这个简单的样式:强大了可以自己改的

<style type="text/css">
    .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>

  页面上添加百度API引用:

<script type="text/javascript" src="http://api.map.baidu.com/api?key=&v=1.1&services=true"></script>

  调用地图需要的脚本:

<script type="text/javascript">
    var opts = {
        width: 100,     // 信息窗口宽度
        height: 30,     // 信息窗口高度
        title: "北京故宫"  //自己设置 以北京故宫为例 北京故宫(116.40221,39.929585)
    }
    //创建和初始化地图函数:
    function initMap() {
        createMap(); //创建地图
        setMapEvent(); //设置地图事件
        addMapControl(); //向地图添加控件
    }

    //创建地图函数:
    function createMap() {
        //坐标  百度坐标拾取工具http://api.map.baidu.com/lbsapi/getpoint/index.html

    
        var map = new BMap.Map("dituContent"); //在百度地图容器中创建一个地图
        var point = new BMap.Point(116.40221, 39.929585); //北京故宫
        map.centerAndZoom(point, 8); //设定地图的中心点和坐标并将地图显示在地图容器中,就是地图缩放比例,注意数字越大,地图显示的越详细
        window.map = map; //将map变量存储在全局

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

        var point = new BMap.Point(116.40221, 39.929585);
        var marker = new BMap.Marker(point);

    //这里是你定义的点显示的名字  如北京故宫
        var label = new BMap.Label(‘北京故宫‘, { "offset": new BMap.Size(9, -15) });
        marker.setLabel(label);
        map.addOverlay(marker);

    //InfoWindow 里面显示的是你要显示内容(可以动态加载的哦)
        marker.addEventListener("click", function () { this.openInfoWindow(new BMap.InfoWindow("北京故宫</br>2014 &copy; Template By <a href="http://www.cnblogs.com/JeffConrtoller/">Jeff.Zhang", opts)); });

    //可以添加多个点(数据库里面存放上这些必要的字段,到时候加载就OK了)

// 编写自定义函数,创建标注
    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 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(); //创建和初始化地图
</script>

调用百度地图