百度地图API接口调用的demo(浏览器端)

我们看百度官方给的demo,网址为:http://lbs.baidu.com/jsdemo.htm#aAsynLoadMap

使用的是异步加载

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <title>异步加载地图</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    <style>
    body,
    html,
    #container {              
        overflow: hidden;
        width: 100%;
        height: 100%;
        margin: 0;
        font-family: "微软雅黑";
    }
    </style>
</head>
<body>
    <div id="container"></div>
</body>
</html>
<script>
function loadJScript() {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = '//api.map.baidu.com/api?type=webgl&v=1.0&ak=您的密钥&callback=init';
    document.body.appendChild(script);
}
function init() {
    var map = new BMapGL.Map('container'); // 创建Map实例
    var point = new BMapGL.Point(116.404, 39.915); // 创建点坐标
    map.centerAndZoom(point, 10);
    map.enableScrollWheelZoom(); // 启用滚轮放大缩小
}
window.onload = loadJScript; // 异步加载地图
</script>

从上到下看一些关键代码:

#container {                 
        overflow: hidden;
        width: 100%;
        height: 100%;
        margin: 0;
        font-family: "微软雅黑";
    }

container的作用就是地图呈现在id=container的标签中,这一部分代码设置了这个标签的一些属性。由#可知次元素选择器不是class而是id,由于id唯一的属性,多次调用就会发生错误,所以我们改为:

.container {              
        overflow: hidden;
        width: 100%;
        height: 100%;
        margin: 0;
        font-family: "微软雅黑";
    }

function init() {
    var map = new BMapGL.Map('container'); // 创建Map实例
    var point = new BMapGL.Point(116.404, 39.915); // 创建点坐标
    map.centerAndZoom(point, 10);
    map.enableScrollWheelZoom(); // 启用滚轮放大缩小
}

var map = new BMapGL.Map(‘container’)这一行代码的container被我们改成了class属性,这里可以这样操作:

var li=document.createElement('li')   //创建一个li标签,标签随便创建,百度的demo使用的是div
li.className='container';             //设置其class属性为container,属性名也可以随便写,但要和第一步的保持一致。
var map = new BMapGL.Map(li);   //这里就改成我们创建的标签
var point = new BMapGL.Point(116.404, 39.915); // 创建中心城市点坐标

也可以不创建中心城市点坐标,直接使用:

map.centerAndZoom('南京市', 10);   //直接将原来的point改为城市名称,默认为北京市,要写上“市”字,不然可能定位不到。10这个数代表的是地图的精细程度,越大越精细,越小可能输入的是南京出来的是整个中国的地图。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值