百度地图Javascript API使用详解

12 篇文章 0 订阅
2 篇文章 0 订阅

首先登录百度地图开发平台:http://lbsyun.baidu.com/

获取密钥,在使用地图时需要用到,点击右上角的控制台

选择创建应用

按下图操作

提交后查看应用,查看AK密钥

接下来创建HTML页面测试百度地图,下面是示例代码

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head lang="en" th:include="include :: header">
    <meta charset="UTF-8">
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <title></title>
    <script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=刚刚创建的应用密钥"></script>
    <style type="text/css">
        body { margin: 0; font-family: "Helvetica,Arial,FreeSans"; color: #000000; font-size: 12px; }
        .demo_main { padding: 20px; padding-top: 10px; }
        .demo_title { padding: 10px; margin-bottom: 10px; background-color: #D3D8E0; border: solid 1px gray; }
        .demo_content { padding: 10px; margin-bottom: 10px; border: solid 1px gray; }
        fieldset { border: 1px solid gray; }
    </style>
    <title>地图</title>
</head>
<body>
<div class="demo_main">
    <input type="hidden" id="xy" th:value="${xy}">
    <fieldset class="demo_title">
        地图
    </fieldset>
    <fieldset class="demo_content">
        <div style="min-height: 300px; width: 100%;" id="map">
        </div>
    </fieldset>
</div>
<div th:include="include :: footer"></div>
<script type="text/javascript">
    var markerArrs = $("#xy").val();
    var markerArr = JSON.parse(markerArrs); //将json格式转成对象
    var map;
    function map_init() {
        map = new BMap.Map("map"); //创建map实例
        //设置地图中心点,广州市
        var point = new BMap.Point(113.312213, 23.147267);
        //初始化地图,设置中心点坐标和地图级别
        map.centerAndZoom(point, 13);
        //启用滚轮放大缩小
        mapenableScrollWheelZoom(true);
        //向地图中添加缩放控件
        var ctrlNav = new window.BMap.NavigationControl({
            anchor: BMAP_ANCHOR_TOP_LEFT,
            type: BMAP_NAVIGATION_CONTROL_LARGE
        });
        map.addControl(ctrlNav);
        //地图中添加缩略图控件
        var ctrlOve = new window.BMap.OverviewMapControl({
            anchor: BMAP_ANCHOR_BOTTOM_RIGHT,
            isOpen: 1
        });
        map.addControl(ctrlOve);

        //地图中添加比例尺控件
        var ctrlSca = new window.BMap.ScaleControl({
            anchor: BMAP_ANCHOR_BOTTOM_LEFT
        });
        map.addControl(ctrlSca);
        //绘制显示地图标记点
        for (var i = 0; i < markerArr.length; i++) {
            //经纬度
            var p0 = markerArr[i].mapx;
            var p1 = markerArr[i].mapy;
            var maker = addMarker(new window.BMap.Point(p0, p1), i);
            addInfoWindow(maker, markerArr[i], i);
        }
    }

    // 添加地图标注
    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);
        return marker;
    }

    // 点击标记弹出信息窗口
    function addInfoWindow(marker, poi) {
        //窗口标题
        var title = '<div style="font-weight:bold;color:#CE5521;font-size:14px">' + poi.name + '</div>';
        //窗口信息
        var html = [];
        html.push('<p style="font-size:12px;line-height:1.8em">'+"简称:" + poi.shortName + "</br> 行政区号:" + poi.zCode + '</br></p>');
        var infoWindow = new BMap.InfoWindow(html.join(""), { title: title, width: 200 });

        var openInfoWinFun = function () {
            marker.openInfoWindow(infoWindow);
        };
        marker.addEventListener("click", openInfoWinFun);
        return openInfoWinFun;
    }

    //异步调用百度javascript
    function map_load() {
        var load = document.createElement("script");
        load.src = "http://api.map.baidu.com/api?v=1.4&callback=map_init";
        document.body.appendChild(load);
    }
    window.onload = map_load;
</script>
</body>
</html>

运行效果展示:

 

 

 

 

百度map,百度map API,百度地图 实现百度地图动态搜索、静态地图动态插入 mygw@163.com js 内容如下: /** 加载地图的主控类 */ var MapControl={ staticWith : 512,//链接静态图宽度 staticHeight : 320,//链接静态图的高度 container : 'mapcontainer',//显示map的节点id defzoom:12,//默认缩放比例 map : '', marker : '', city : '深圳', infoWinContent : '请移动此标记到您的婚礼地点位置!', /** 提示信息窗内容 */ infoOpts : { width : 100, // 信息窗口宽度 height: 50, // 信息窗口高度 title : "提示:" // 信息窗口标题 }, /** *默认显示窗口 */ defWindow : function(){ this.map = new BMap.Map(this.container); this.map.centerAndZoom(this.city,this.defzoom); // 通过城市名初始化地图 this.map.addEventListener("load", function(){ // 初始化方法执行完成后即可获取地图中心点信息 MapControl.marker = new BMap.Marker( this.getCenter()); // 创建标注 this.addOverlay(MapControl.marker ); // 将标注添加到地图中 MapControl.marker.enableDragging(); var infoWindow = new BMap.InfoWindow(MapControl.infoWinContent, MapControl.infoOpts); // 创建信息窗口对象 MapControl.marker.addEventListener("mouseover", function(){ this.openInfoWindow(infoWindow); // 打开信息窗口 }) MapControl.marker.addEventListener("mouseout", function(){ this.closeInfoWindow(); // 打开信息窗口 }) }) //map 增加操作 this.map.addControl(new BMap.NavigationControl()); this.map.addControl(new BMap.ScaleControl()); this.map.addControl(new BMap.OverviewMapControl()); this.map.addControl(new BMap.MapTypeControl()); }, /** * 搜索地址 */ search : function(address){ if(this.map=='' || this.map == 'undefined' || address=='' ){ return ; } this.city=address; this.defWindow(); }, /** * 获取静态图片地址 */ getStaticMap : function(){ if(this.map=='' || this.map == 'undefined' || this.marker=='' ){ return ; } var center=this.map.getCenter().lng+','+this.map.getCenter().lat; var markers= this.marker.getPosition().lng+','+this.marker.get
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2Hhhhhh

一分也是爱 多多益善

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值