微信开发之百度地图API学习(一)
在接下来的微信开发中打算针对百度地图做一些开发,因此接下来机票博客就是关于如何把百度地图应用到微信里边,而今天也是我第一次了解这个API,下面分享给大家。
百度地图的使用是建立在html和js基础上的,下面是一个入门级实例
- <!DOCTYPE html>
- <html>
- <head>
- <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Hello, World</title>
- <style type="text/css">
- html{height:100%}
- body{height:100%;margin:0px;padding:0px}
- #container{height:100%}
- </style>
- <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.5&ak=您的密钥"></script>//此为v1.5版本的引用方式
- // http://api.map.baidu.com/api?v=1.5&key=您的密钥&callback=initialize"; //此为v1.4版本及以前版本的引用方式
- </head>
- <body>
- <div id="container"></div>
- <script type="text/javascript">
- var map = new BMap.Map("container"); // 创建地图实例
- var point = new BMap.Point(116.404, 39.915); // 创建点坐标
- map.centerAndZoom(point, 15); // 初始化地图,设置中心点坐标和地图级别
- </script>
- </body>
- </html>
这一句是为了地图可以更好的在移动平台上展示
- <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
- <style type="text/css">
- html{height:100%}
- body{height:100%;margin:0px;padding:0px}
- #container{height:100%}
- </style>
百度地图v1.5及以后的版本将需要申请apikey,不知道是不是因为百度服务器的原因最近很多人的ak不能用,我的同样如此,所以这里用了1.4版本,可以不用申请ak了
- <script src="http://api.map.baidu.com/api?v=1.4" type="text/javascript"></script>
创建地图容器元素
地图需要一个HTML元素作为容器,这样才能展现到页面上。这里我们创建了一个div元素。
命名空间
API使用BMap作为命名空间,所有类均在该命名空间之下,比如:BMap.Map、BMap.Control、BMap.Overlay。
创建地图实例
- var map = new BMap.Map("container");
位于BMap命名空间下的Map类表示地图,通过new操作符可以创建一个地图实例。其参数可以是元素id也可以是元素对象。
注意在调用此构造函数时应确保容器元素已经添加到地图上。
创建点坐标
- map.centerAndZoom(point, 15);
在创建地图实例后,我们需要对其进行初始化,BMap.Map.centerAndZoom()方法要求设置中心点坐标和地图级别。 地图必须经过初始化才可以执行其他操作。
地图配置与操作
地图被实例化并完成初始化以后,就可以与其进行交互了。API中的地图对象的外观与行为与百度地图网站上交互的地图非常相似。它支持鼠标拖拽、滚轮缩放、双击放大等交互功能。您也可以修改配置来改变这些功能。 比如,默认情况下地图不支持鼠标滚轮缩放操作,因为这样可能会影响整个页面的用户体验,但是如果您希望在地图中使用鼠标滚轮控制缩放,则可以调用map.enableScrollWheelZoom方法来开启。配置选项可以在Map类参考的配置方法一节中找到。
此外,您还可以通过编程的方式与地图交互。Map类提供了若干修改地图状态的方法。例如:setCenter()、panTo()、zoomTo()等等。
下面示例显示一个地图,等待两秒钟后,它会移动到新中心点。panTo()方法将让地图平滑移动至新中心点,如果移动距离超过了当前地图区域大小,则地图会直跳到该点。
- var map = new BMap.Map("container");
- var point = new BMap.Point(116.404, 39.915);
- map.centerAndZoom(point, 15);
- window.setTimeout(function(){
- map.panTo(new BMap.Point(116.409, 39.918));
- }, 2000);
- 上一篇看代码猜古诗哈哈逗死我了
- 下一篇Linux七种常用技巧