什么是百度API
百度地图API是一套有javascript语言编写的应用程序接口,他能帮助您在网站中构建功能丰富、交互性强的地图应用程序。百度地图API不仅包含构建地图的基本接口,还提供了诸如本地搜索、路线规划等数据服务,您可以根据自己的需要进行选择。地图API的服务是免费的,任何非盈利性的网站均可使用。
百度API的参数
origin 起点名称或经纬度,或者可同时提供名称和经纬度,此时经纬度优先级高,将作为导航依据,名称只负责展示。
destination 终点名称或经纬度,或者可同时提供名称和经纬度,此时经纬度优先级高,将作为导航依据,名称只负责展示。
mode 导航模式,固定为transit、driving、walking,分别表示公交、驾车和步行
region 城市名或县名 当给定region时,认为起点和终点都在同一城市,除非单独给定起点或终点的城市。
origin_region 起点所在城市或县 destination_region 终点所在城市或县
output 表示输出类型,web上必须指定为html才能展现地图产品结果。
coord_type 坐标类型,可选参数
zoom 展现地图的级别,默认为视觉最优级别。
src appName。
创建地图实例
var map = new BMap.Map("bodyContent", { mapType: BMAP_HYBRID_MAP });
*mapType设置地图类型,如:BMAP_HYBRID_MAP[卫星地图]
创建点坐标
var point = new BMap.Point(116.404, 39.915);
坐标格式必须new BMap.Point
标尺控件类型及位置
var mapType2 = new BMap.NavigationControl({ type: BMAP_NAVIGATION_CONTROL_LARGE, anchor: BMAP_ANCHOR_BOTTOM_LEFT });
* map.addControl(new BMap.NavigationControl()); //标尺
map.addControl(new BMap.ScaleControl()); //比例尺
map.addControl(new BMap.OverviewMapControl({ isOpen: true }))); //缩略图
map.setCurrentCity("上海"); // 仅当设置城市信息时,MapTypeControl的切换功能才能可用
位置:BMAP_ANCHOR_TOP_LEFT 表示控件定位于地图的左上角。
BMAP_ANCHOR_TOP_RIGHT 表示控件定位于地图的右上角。
BMAP_ANCHOR_BOTTOM_LEFT 表示控件定位于地图的左下角。
BMAP_ANCHOR_BOTTOM_RIGHT 表示控件定位于地图的右下角。
多点标注、窗口信息
var point = new Array(); //存放标注点经纬信息的数组
var marker = new Array(); //存放标注点对象的数组
var markArry = ["116.407718,39.913828", "116.237543,39.913828", "116.430715,39.933306"];
for (var i = 0; i < markArry.length; i++) {
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 - i * 25) // 设置图片偏移
});
point[i] = new BMap.Point(markArry[i].split(',')[0], markArry[i].split(',')[1]);
marker[i] = new BMap.Marker(point[i], { icon: myIcon });
map.addOverlay(marker[i]);
marker[i].addEventListener("click", function () {
this.openInfoWindow(new window.BMap.InfoWindow("窗口信息"));
});
}
本地搜索
var local = new BMap.LocalSearch(map, {
renderOptions: { map: map, panel: "bodyList" }
});
local.search("餐饮");
地址解析
var myGeo = new BMap.Geocoder();
// 将地址解析结果显示在地图上,并调整地图视野
myGeo.getPoint("中化地质矿物总局", function (point) {
if (point) {
alert(point);
//map.centerAndZoom(point, 16);
//map.addOverlay(new BMap.Marker(point));
}
}, "北京市");
反地址解析
var myGeo = new BMap.Geocoder(); // 创建地理编码实例
myGeo.getLocation(new BMap.Point(116.364, 39.993), function (result) {
if (result) {
alert(result.address);
}
});