百度地图API
一、介绍及使用
1.介绍
由JavaScript语言编写的应用程序接口
支持PC端和移动端基于浏览器的地图应用开发,支持HTML5特性的地图开发
2.使用
1.申请API 秘钥 (ak)
在百度地图API平台上申请即可获得
引用代码:
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=秘钥号">
二、基本函数
1.创建地图
var map =new BMap.Map("id");
API使用BMmp作为命名空间,所有类都在命名空间中
Map类表示地图,用于新建地图,参数为元素id
2.创建点坐标
var point =new BMap.Point(经度,纬度);
Point类新建点
3.地图初始化
map.centerAndZoom(point,15);
centerAndZoom参数为中心点和地图级别(缩放大小)
三、控件
使用Map.addControl()方法添加控件
常用控件:
new BMap.NavigationControl() //缩放控件
new BMap.ScaleControl() //比例尺控件
new BMap.OverviewMapControl() //缩略图控件
new BMap.MapTypeControl() //地图类控件
四、覆盖物
标注
1.创建
var marker =new BMap.Marker(point); //Marker创建标注
map.addOverlay(marker); //addOverlay将标注添加进地图
2.监听
marker.addEventListener("click",function(){事件}
marker.enableDragging(); //开启拖拽功能
marker.addEventListener("dragend",function(e){事件} //拖拽事件
3.信息窗口
var opts = {
width : 250, // 信息窗口宽度
height: 100, // 信息窗口高度
title : "Hello" // 信息窗口标题
}
var infoWindow = new BMap.InfoWindow("World", opts);
map.openInfoWindow(infoWindow, map.getCenter());
使用InforWindow创建信息窗,参数为内容和形状
使用openInfoWindow打开窗口,参数为窗口和打开位置
五、服务
1.本地搜索
var map = new BMap.Map("container");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
var local = new BMap.LocalSearch(map, {
renderOptions:{map: map}
//前一个map是属性,后一个是地图名
});
local.search("天安门");
Bmap.LocalSearch提供本地搜索服务
参数为 搜索范围(map) 搜索结果(renderOprions)
search为根据关键词检索,参数为关键词
2.结果面板
var local = new BMap.LocalSearch(map,
{renderOptions: {map: map,panel: "results"});
BMap.LocalSearchOptions.renderOptions.panel属性为结果提供容器,结果自动存储在容器中
3.数据接口
获取详细数据信息
var map =new BMap.Map("container");
map.centerAndZoom(new BMap.Point(116.404,39.915),11);
var options ={
onSearchComplete:function(results){
if(local.getStatus()== BMAP_STATUS_SUCCESS) var s =[];
for(var i =0; i < results.getCurrentNumPois(); i ++) s.push(results.getPoi(i).title+", "+ results.getPoi(i).address); document.getElementById("log").innerHTML= s.join("<br>"); }
};
var local =new BMap.LocalSearch(map, options);
local.search("公园");
//关于状态码 //BMAP_STATUS_SUCCESS 检索成功。对应数值“0” //BMAP_STATUS_CITY_LIST 城市列表。对应数值“1” //BMAP_STATUS_UNKNOWN_LOCATION 位置结果未知。对应数值“2” //BMAP_STATUS_UNKNOWN_ROUTE 导航结果未知。对应数值“3” //BMAP_STATUS_INVALID_KEY 非法密钥。对应数值“4” //BMAP_STATUS_INVALID_REQUEST 非法请求。对应数值“5” //BMAP_STATUS_PERMISSION_DENIED 没有权限。对应数值“6” //BMAP_STATUS_SERVICE_UNAVAILABLE 服务不可用。对应数值“7” //BMAP_STATUS_TIMEOUT 超时。对应数值“8”
通过onSearchComplete回调函数获得数据,返回值为LocalResult数组
LocalResult提供getPoi(i) 返回第i+1条索引结果
getNumPois 返回总页数
等方法