baiduMap

来自于:官方立即使用

open close setType startLocation stopLocation getLocation getBaiduFromGoogle setCenter setZoomLevel setZoomEnable setScroolEnable setRotation setOverlook setHidden showUserLocation zoomOut zoomIn addAnnotations setBubbleStyle setThreeTitleBubble addMarks setMarkStyle removeAnnotations addLine addPolygon addCircle addOverMark removeOverlay addRoute setRoutePlan removeRoute searchInCity searchNearBy searchInBounds getLocationFromName getNameFromLocation getBusRouteFromLineNum removeBusRoute longPressGesture setMapListener setMapTapListener

概述

baiduMap封装了百度地图的SDK,对百度地图的相关接口做了一层严格准确的封装 把相对复杂的调用接口简单化,极大的简化了手机app集成百度地图的流程 该模块的接口含盖了百度地图几乎所有的接口,功能详情可参考目录。bMap 模块是 baiduMap 模块的优化版。建议使用 bMap 模块,此模块已停止更新。

不能同时添加的模块:bMap,aMap, baiduLocation

在集成此模块之前需先配置config文件,在config里添加如下字段: 名称:baiduMap

参数:android_api_key、ios_api_key

描述:百度开放平台的安全码获取需要区分移动平台,意味着如果你的同一个App需要同时支持iOS和Android平台,那么,您必须为这两个平台单独申请apiKey,即同一个App申请两个apiKey,并将这两个apiKey同时配置在config文件中。

配置示例:

  1. <feature name="baiduMap">
  2. <param name="android_api_key" value="WP99x2mSUWEysZxUaMh0GiGCYhBV8CQI" />
  3. <param name="ios_api_key" value="81qz3dBYB5q2nGji4IYrawr1" />
  4. </feature>

字段描述:

  1. android_api_key:android版本的apiKey
  2. ios_api_key:Ios版本的apiKey

open

打开百度地图

open({params}, callback(ret, err))

params

x:

  • 类型:数字
  • 默认值:0
  • 描述:(可选项)地图视图左上角点的x坐标

y:

  • 类型:数字
  • 默认值:0
  • 描述:(可选项)地图视图左上角点的y坐标

width:

  • 类型:数字
  • 默认值:无
  • 描述:地图视图的宽,可为空

w:

  • 类型:数字
  • 默认值:当前设备屏幕的宽
  • 描述:(可选项)地图视图的宽

    height:

  • 类型:数字

  • 默认值:无

  • 描述:地图视图的高,可为空

    h:

  • 类型:数字

  • 默认值:w-20

  • 描述:(可选项)地图视图的高

lon:

  • 类型:数字
  • 默认值:无
  • 描述:(可选项)开启地图时设置的中心点的经度

lat:

  • 类型:数字
  • 默认值:无
  • 描述:(可选项)开启地图时设置的中心点的经度

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

  • 类型:布尔
  • 默认值:true
  • 描述:(可选项)是否将模块视图固定到窗口上,不跟随窗口上下滚动

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: 1 //操作成功状态值
  3. }

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.open({
  3. x: 0,
  4. y: 64,
  5. w: 320,
  6. h: 400
  7. }, function(ret, err) {
  8. if (ret.status) {
  9. alert(JSON.stringify(ret));
  10. } else {
  11. alert(JSON.stringify(err));
  12. }
  13. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭百度地图

close()

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.close();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setType

设置百度地图类型

setType({params})

params

mapType:

  • 类型:字符串
  • 默认值:无
  • 描述:地图类型(详见地图类型常量),不能为空

type:

  • 类型:字符串
  • 默认值:standard
  • 描述:(可选项)地图类型(详见地图类型常量)

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.setType({
  3. type: 'standard'
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

startLocation

开始定位

startLocation({params}, callback(ret, err))

params

accuracy:

  • 类型:字符串
  • 默认值:无
  • 描述:精度(详见精度常量)

filter:

  • 类型:数字
  • 默认值:1.0
  • 描述:(可选项)位置更新所需最小距离(单位米)

autoStop:

  • 类型:布尔
  • 默认值:true
  • 描述:(可选项)获取到位置信息后是否自动停止定位

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

  1. {
  2. longitude:116.213 //经度 deprecated
  3. latitude:39.213 //纬度 deprecated
  4. lon:116.213 //经度
  5. lat:39.213 //纬度
  6. timestamp:1396068155591 //时间戳
  7. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg:”” //错误描述
  3. }

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.startLocation({
  3. accuracy: '100m',
  4. filter: 1,
  5. autoStop: true
  6. }, function(ret, err) {
  7. if (ret) {
  8. alert(JSON.stringify(ret));
  9. } else {
  10. alert(JSON.stringify(err));
  11. }
  12. });

补充说明

开始定位

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopLocation

停止定位

stopLocation()

补充说明

停止定位

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.stopLocation();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getLocation

获取位置信息

getLocation(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. longitude:116.213 //经度 deprecated
  3. latitude:39.213 //纬度 deprecated
  4. lon:116.213 //经度
  5. lat:39.213 //纬度
  6. timestamp:1396068155591 //时间戳
  7. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg:”” //错误描述
  3. }

补充说明

获取位置信息

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.getLocation(function(ret, err) {
  3. if (ret) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(JSON.stringify(err));
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getBaiduFromGoogle

将谷歌坐标转换为百度坐标

getBaiduFromGoogle({params}, callback(ret, err))

params

lon:

  • 类型:数字
  • 默认值:无
  • 描述:经度

lat:

  • 类型:数字
  • 默认值:无
  • 描述:纬度

mcode:

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:

    1. {
    2. lon:116.213 //经度
    3. lat:39.213 //纬度
    4. }

    err:

  • 类型:JSON 对象

  • 内部字段:

  1. {
  2. msg: //错误描述
  3. }

补充说明

转换坐标

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.getBaiduFromGoogle({
  3. lon: 116.351,
  4. lat: 39.283,
  5. mcode: '0B:13:25:D7:85:46:0A:67:12:F3:29:88:64:56:63:10:7A:9C:C4:59;com.apicloud.A6985734480360'
  6. }, function(ret, err) {
  7. if (ret) {
  8. alert(JSON.stringify(ret));
  9. } else {
  10. alert(JSON.stringify(err));
  11. }
  12. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setCenter

设置百度地图中心点

setCenter({params})

params

lon:

  • 类型:数字
  • 默认值:无
  • 描述:经度

lat:

  • 类型:数字
  • 默认值:无
  • 描述:纬度

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.setCenter({
  3. lon: 116.351,
  4. lat: 39.283
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setZoomLevel

设置百度地图缩放等级

setZoomLevel({params})

params

level:

  • 类型:数字
  • 默认值:10
  • 描述:(可选项)地图比例尺级别,在手机上当前可使用的级别为3-18级

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.setZoomLevel({
  3. level: 3
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setZoomEnable

设置百度地图是否能放大缩小

setZoomEnable({params})

params

enable:

  • 类型:布尔
  • 默认值:true
  • 描述:(可选项)捏合手势可否缩放地图

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.setZoomEnable({
  3. enable: false
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setScrollEnable

设置百度地图是否能滚动

setScrollEnable({params})

params

enable:

  • 类型:布尔
  • 默认值:ture
  • 描述:(可选项)拖动手势可否移动地图

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.setScrollEnable({
  3. enable: false
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setRotation

设置百度地图旋转角度

setRotation({params})

params

rotation:

  • 类型:数字
  • 默认值:0
  • 描述:(可选项)地图旋转角度,可使用的范围为-180-180级

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.setRotation({
  3. rotation: 10
  4. });

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

setOverlook

设置百度地图俯视角度

setOverlook({params})

params

overlook:

  • 类型:数字
  • 默认值:0
  • 描述:(可选项)地图俯视角度,可使用的范围为-45-0级

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.setOverlook({
  3. overlook: -10
  4. });

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

setHidden

设置是否隐藏地图,此功能只是隐藏地图,不影响地图上的标注气泡等覆盖物

setHidden({params})

params

hidden:

  • 类型:布尔
  • 默认值:true
  • 描述:(可选项)是否隐藏地图视图

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.setHidden({
  3. hidden: false
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showUserLocation

设置是否在地图上显示用户位置

showUserLocation({params})

params

isShow:

  • 类型:布尔
  • 默认值:true
  • 描述:(可选项)是否显示用户位置

trackingMode:

  • 类型:字符串
  • 默认值:none
  • 描述:(可选项)用户当前位置显示形式,详细参数见跟踪类型

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.showUserLocation({
  3. isShow: true,
  4. trackingMode: 'none'
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

zoomOut

放大地图,缩小视角

zoomOut()

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.zoomOut();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

zoomIn

缩小地图,放大视角

zoomIn()

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.zoomIn();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addAnnotations

在地图上添加大头针

addAnnotations({params})

params

annoArray:

  • 类型:数组
  • 默认值:无
  • 描述:添加的大头针的信息组成的数组
  • 内部字段:
  1. [{
  2. id:1 //数字类型;大头针的id
  3. lon:116.233 //数字类型;大头针所在位置的经度
  4. lat:39.134 //数字类型;大头针所在位置的维度
  5. title: 'title' //字符串类型;点击大头针时弹出的气泡的大标题;无默认值
  6. subTitle: 'subtitle' //字符串类型;点击大头针时弹出的气泡的小标题;无默认值
  7. img: //(可选项)字符串类型;自定义大头针图片路径,若不传则显示pinImg
  8. showBubble: //(可选项)布尔类型;点击大头针是否显示气泡,布尔类型,默认true
  9. }]

pinImg:

  • 类型:字符串
  • 默认值:无
  • 描述:(可选项)自定义的大头针图片,若不传则显示默认红色大头针

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

  1. {
  2. pinId: //用户点击大头针气泡时返回其id
  3. eventType //事件类型,字符串,取值范围如下:
  4. pin //用户点击大头针事件
  5. bubble//用户点击气泡的事件
  6. }

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.addAnnotations({
  3. annoArray: [{ id: 1, lon: 116.297, lat: 40.109, title: '第一个', subTitle: '子标题' },
  4. { id: 2, lon: 116.29, lat: 40.109, title: '第二个', subTitle: '子标题' },
  5. { id: 3, lon: 116.298, lat: 40.11, title: '第三个', subTitle: '子标题' }
  6. ]
  7. }, function(ret, err) {
  8. if (ret) {
  9. alert(JSON.stringify(ret));
  10. } else {
  11. alert(JSON.stringify(err));
  12. }
  13. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setBubbleStyle

设置大头针上气泡的类型

setBubbleStyle({params})

params

type:

  • 类型:字符串
  • 默认值:normal
  • 描述:(可选项)气泡布局类型,保留使用

bubbleBgimg:

  • 类型:字符串
  • 默认值:无
  • 描述:气泡的背景图片路径

imgPath:

  • 类型:字符串
  • 默认值:无
  • 描述:自定义类型的气泡上的头像图片路径

id:

  • 类型:数字
  • 默认值:无
  • 描述:所要设置的大头针的id

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.setBubbleStyle({
  3. bubbleBgimg: 'widget://res/bubble_bg.png',
  4. imgPath: 'widget://res/bubble_head.png',
  5. id: 2
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setThreeTitleBubble

设置大头针上的气泡为一个头像加三个标题的类型

setThreeTitleBubble({params})

params

id:

  • 类型:数字
  • 默认值:无
  • 描述:所要设置的大头针的id

style:

  • 类型:JSON 对象
  • 默认值:见内部字段
  • 描述:(可选项)气泡的样式
  • 内部字段:
  1. {
  2. titleSize: //(可选项)数字类型;标题的颜色,支持 rgb、rgba、#;默认值为:14.0
  3. titleColor: //(可选项)字符串类型;标题的字体大小;默认值为:#000000
  4. preSize: //(可选项)数字类型;子标题后缀的字体大小;默认值为:12.0
  5. preColor: //(可选项)字符串类型;子标题后缀的颜色,支持 rgb、rgba、#;默认值为:#969696
  6. subTitleSize: //(可选项)数字类型;子标题的字体大小;默认值为:14.0
  7. subTitleColor: //(可选项)字符串类型;子标题的颜色,支持 rgb、rgba、#;默认值为:#8B6508
  8. descriptionSize: //(可选项)数字类型;描述文字的字体大小;默认值为:12.0
  9. descriptionColor://(可选项)字符串类型;描述文字的颜色,支持 rgb、rgba、#;默认值为:#698B22
  10. avatarSize: //(可选项)数字类型;头像图片显示区域的大小;默认值为:40.0
  11. avatarMarginLeft://(可选项)数字类型;头像图片显示区域左边距;默认值为:5.0
  12. avatarMarginUp: //(可选项)数字类型;头像图片显示区域上边距;默认值为:5.0
  13. arrowSize: //(可选项)数字类型;右边箭头图标的大小;默认值为:20.0
  14. arrowMarginRight://(可选项)数字类型;右边箭头图标的右边距;默认值为:5.0
  15. placeholderImg: //(可选项)字符串类型;头像占位图片,仅支持本地路径;无默认值
  16. }

image:

  • 类型:JSON 对象
  • 默认值:见内部字段
  • 描述:气泡的图片
  • 内部字段:
  1. {
  2. bg: //字符串类型;气泡的背景图片路径,暂仅支持本地路径协议(widget://、fs://....),160*60大小;无默认值
  3. avatar: //字符串类型;自定义气泡上的头像图片路径,支持本地和网络路径(http://、widget://、fs://....),不传则不显示;无默认值
  4. icon: //字符串类型;描述文字前的图标路径,暂仅支持本地路径协议(widget://、fs://....),不传则不显示;无默认值
  5. arrow: //字符串类型;气泡右边小箭头图标路径,暂仅支持本地路径协议(widget://、fs://....),不传则不显示;无默认值
  6. }

text:

  • 类型:JSON 对象
  • 默认值:见内部字段
  • 描述:气泡上的文字
  • 内部字段:
  1. {
  2. title: //字符串类型;气泡上的标题文字,不传则不显示;无默认值
  3. subTitle: //字符串类型;气泡上的子标题文字,不传则不显示;无默认值
  4. pre: //字符串类型;气泡上的子标题的后缀文字,不传则不显示;无默认值
  5. description://字符串类型;气泡上的描述文字,不传则不显示;无默认值
  6. }

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.setThreeTitleBubble({
  3. id:1,
  4. image:{
  5. bg:'widget://image/baidu_bubble_bg.png',
  6. avatar:'widget://image/baidu_bubble_head.png',
  7. icon:'widget://image/baidu_bubble_icon.png',
  8. arrow:'widget://image/baidu_bubble_arrow.png'
  9. },
  10. text:{
  11. title:'龙城假日皇冠大酒店',
  12. pre:'/天',
  13. subTitle:'$100',
  14. description:'不支持团购'
  15. },
  16. style:{
  17. placeholderImg:'widget://image/baidu_bubble_place.png'
  18. }
  19. });

可用性

iOS系统,Android系统

可提供的1.0.3及更高版本

addMarks

在地图上添加布告牌

addMarks({params})

params

marks:

  • 类型:数组
  • 默认值:无
  • 描述:添加的布告牌的信息组成的数组

内部字段:

  1. [{
  2. id:1, //布告牌的id,数字
  3. lon:116.233, //布告牌所在位置的经度,数字
  4. lat:39.134, //布告牌所在位置的维度,数字
  5. title: 'title', //布告牌的大标题,字符串,
  6. subTitle: 'subtitle' //布告牌的小标题,字符串
  7. }]

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. markID:"" //用户点击布告牌时返回该布告牌的id deprecated
  3. markId:"" //用户点击布告牌时返回该布告牌的id
  4. }

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.addMarks({
  3. marks: [
  4. { id: 1, lon: 116.297, lat: 40.109, title: '第一个', subTitle: '子标题' },
  5. { id: 2, lon: 116.298, lat: 40.109, title: '第二个', subTitle: '子标题' },
  6. { id: 3, lon: 116.298, lat: 40.111, title: '第三个', subTitle: '子标题' }
  7. ]
  8. }, function(ret, err) {
  9. if (ret) {
  10. alert(JSON.stringify(ret));
  11. } else {
  12. alert(JSON.stringify(err));
  13. }
  14. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setMarkStyle

设置布告牌的类型

setMarkStyle({params});

params

headImg:

  • 类型:字符串
  • 默认值:无
  • 描述:自定义类型的布告牌上的头像图片路径

bgImg:

  • 类型:字符串
  • 默认值:无
  • 描述:自定义的布告牌的背景图片的路径

id:

  • 类型:数字
  • 默认值:无
  • 描述:所要设置的布告牌的id

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.setMarkStyle ({
  3. bgImg:'widget://res/mark_bg_test.png',
  4. headImg:'widget://res/mark_test.png',
  5. id:6
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeAnnotations

移除指定id的大头针或布告牌

removeAnnotations({params})

params

idArray:

  • 类型:数组
  • 默认值:无
  • 描述:所要移除的大头针或布告牌id(数字)

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.removeAnnotations({
  3. idArray:[1,3,5,7]
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addLine

在地图上添加线

addLine({params})

params

style:

  • 类型:JSON 对象
  • 默认值:无
  • 描述:画线的类型

内部字段:

  1. {
  2. id:100 //线的id,数字
  3. fillColor:'#FF0000' //画线的填充色,字符串
  4. strokeColor:'#990033' //画线的边框色,字符串
  5. lineWidth:3 //画线的宽度,默认为2.0,数字
  6. }

pointArray:

  • 类型:数组
  • 默认值:无
  • 描述:确定画线的各个点组成的数组
  • 内部字段:
  1. [
  2. {
  3. lon:116.297, //经度,数字
  4. lat:40.109 //纬度,数字
  5. }
  6. ]

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.addLine({
  3. style: {
  4. id: 100,
  5. fillColor: '#FF0000',
  6. strokeColor: '#990033',
  7. lineWidth: 3
  8. },
  9. pointArray: [
  10. { lon: 116.297, lat: 40.109 },
  11. { lon: 116.298, lat: 40.109 }
  12. ]
  13. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addPolygon

在地图上添加多边形

addPolygon({params})

params

style:

  • 类型:JSON 对象
  • 默认值:无
  • 描述:画线的类型

内部字段:

  1. {
  2. id:100 //线的id,数字
  3. fillColor:'#FF0000' //画线的填充色,字符串
  4. strokeColor:'#990033' //画线的边框色,字符串
  5. lineWidth:3 //画线的宽度,默认为2.0,数字
  6. }

pointArray:

  • 类型:数组
  • 默认值:无
  • 描述:确定画线的各个点组成的数组
  • 内部字段:
  1. [
  2. {
  3. lon:116.297 //经度,数字
  4. lat:40.109 //纬度,数字
  5. }
  6. ]

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.addPolygon({
  3. style: {
  4. id: 100,
  5. fillColor: '#FF0000',
  6. strokeColor: '#990033',
  7. lineWidth: 3
  8. },
  9. pointArray: [
  10. { lon: 116.297, lat: 40.109 },
  11. { lon: 116.298, lat: 40.109 },
  12. { lon: 116.298, lat: 40.11 }
  13. ]
  14. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addCircle

在地图上添加圆圈

addCircle({params})

params

id:

  • 类型:数字
  • 默认值:无
  • 描述:圆圈的id

fillColor:

  • 类型:字符串
  • 默认值:无
  • 描述:圆圈的填充色

strokeColor:

  • 类型:字符串
  • 默认值:无
  • 描述:圆圈的边框色

lineWidth:

  • 类型:数字
  • 默认值:2
  • 描述:(可选项)画线的宽度

lon:

  • 类型:数字
  • 默认值:无
  • 描述:经度

lat:

  • 类型:数字
  • 默认值:无
  • 描述:纬度

radius:

  • 类型:数字
  • 默认值:无
  • 描述:圆的半径

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.addCircle({
  3. id:101,
  4. lon:116.298,
  5. lat:40.11,
  6. radius:500,
  7. fillColor:'#FF0000',
  8. strokeColor:'#990033',
  9. lineWidth:3
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addOverMark

在地图上添加图片

addOverMark({params})

params

id:

  • 类型:数字
  • 默认值:无
  • 描述:id号

imgPath:

  • 类型:字符串
  • 默认值:无
  • 描述:图片的路径

lbLon:

  • 类型:数字
  • 默认值:无
  • 描述:左下角点的经度

lbLat:

  • 类型:数字
  • 默认值:无
  • 描述:左下角点的纬度

rtLon:

  • 类型:数字
  • 默认值:无
  • 描述:右上角点的经度

rtLat:

  • 类型:数字
  • 默认值:无
  • 描述:右上角点的纬度

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.addOverMark({
  3. id:200,
  4. lbLon:116.297,
  5. lbLat:40.109,
  6. rtLon:116.298,
  7. rtLat:40.11,
  8. imgPath:'widget://res/over_img.png'
  9. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeOverlay

移除指定id的覆盖物

removeOverlay({params})

params

idArray:

  • 类型:数组
  • 默认值:无
  • 描述:所要移除的id(数字)组成的数组

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.removeOverlay({
  3. idArray:[1,3,5,7]
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addRoute

添加路线

addRoute({params}, callback(ret, err))

params

id:

  • 类型:数字
  • 默认值:无
  • 描述:id号

type:

  • 类型:字符串
  • 默认值:无
  • 描述:路线类型(drive开车,transit公交,walk步行)

policy:

  • 类型:字符串
  • 默认值:ecar_dis_first\ ebus_transfer_first
  • 描述:(可选项)路线策略,取值范围详情见路线策略

startPoint:

  • 类型:JSON 对象
  • 默认值:无
  • 描述:起点信息
  • 内部字段:
  1. {
  2. city:'北京' //起点城市
  3. name:'史各庄' //起点名-----和经纬度配合使用,有经纬度时,此参数可不传
  4. lon:116.213 //起点经度-----和起点名配合使用,有起点名时,此参数可不传
  5. lat:39.213 //起点纬度-----和起点名配合使用,有起点名时,此参数可不传
  6. }

endPoint:

  • 类型:JSON 对象
  • 默认值:无
  • 描述:终点信息
  • 内部字段:
  1. {
  2. city:'北京' //终点城市
  3. name:'龙翔路' //终点名-----和起点名配合使用,有经纬度时,此参数可不传
  4. lon:116.213 //终点经度-----和终点名配合使用,有终点名时,此参数可不传
  5. lat:39.213 //终点纬度-----和终点名配合使用,有终点名时,此参数可不传
  6. }

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:"" //操作成功状态值
  3. steps:"" //路线方案,数组对象,路线每个结点的信息
  4. plans //建议路线方案组成的数组
  5. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg:"" //错误描述
  3. code:”” //错误码,取值范围如下:
  4. 0:检索结果正常
  5. 1:检索词有歧义
  6. 2:检索地址有歧义
  7. 3:该城市不支持公交搜索
  8. 4:不支持跨城市公交
  9. 5:没有找到检索结果
  10. 6:起终点太近
  11. suggestStarts //建议起点信息组成的数组,若非传入起点信息模糊则为空
  12. 内部字段:[{
  13. name //地点名
  14. city: //地点所在城市
  15. lon: //地点经度
  16. lat: // 地点纬度
  17. }]
  18. suggestEnds //建议终点信息组成的数组,若非传入终点信息模糊则为空
  19. 内部字段:[{
  20. name //地点名
  21. city: //地点所在城市
  22. lon: //地点经度
  23. lat: // 地点纬度
  24. }]
  25. }

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.addRoute({
  3. id: 300,
  4. type: 'drive',
  5. startPoint: {
  6. city: '北京',
  7. name: '史各庄南',
  8. lon: 116.213,
  9. lat: 39.213
  10. },
  11. endPoint: {
  12. city: '北京',
  13. name: '龙翔路',
  14. lon: 116.384,
  15. lat: 39.989
  16. }
  17. }, function(ret, err) {
  18. if (ret.status) {
  19. alert(JSON.stringify(ret));
  20. } else {
  21. alert(JSON.stringify(err));
  22. }
  23. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setRoutePlan

设置已添加路线的方案

setRoutePlan({params}, callback(ret, err))

params

type:

  • 类型:字符串
  • 默认值:transit
  • 描述:(可选项)路线类型(取值范围:transit公交)保留使用

planIndex:

  • 类型:数字
  • 默认值:0
  • 描述:(可选项)从添加路线时返回的所有方案中选中的路线方案下标

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.setRoutePlan({
  3. planIndex: 1
  4. });

补充说明

此接口必须在调用addRoute接口之后才可调用,暂仅支持android

可用性

Android系统

可提供的1.0.1及更高版本

removeRoute

移除指定id的路线

removeRoute({params})

params

idArray:

  • 类型:数组
  • 默认值:无
  • 描述:所要移除的id(数字)组成的数组

内部字段:

  1. [
  2. 1,
  3. 2
  4. ]

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.removeRoute({
  3. idArray: [300,301,302]
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

searchInCity

根据关键字搜索兴趣点

searchInCity({params}, callback(ret, err))

params

city:

  • 类型:字符串
  • 默认值:无
  • 描述:指定的城市内搜索

key:

  • 类型:字符串
  • 默认值:无
  • 描述:指定的要搜索的关键字

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //是否查找成功
  3. totalNum: //本次搜索的总结果数
  4. currNum: //当前页的结果数
  5. totalPage: //本次搜索的总页数
  6. pageIndex: //当前页的索引
  7. resultArray: //返回搜索结果列表,是一个数组
  8. 内部字段:
  9. [{
  10. lon: //当前内容的经度
  11. lat: //当前内容的纬度
  12. name: //名称
  13. uid: //id
  14. add: //地址
  15. city: //所在城市
  16. phone: //电话号码
  17. postCode: //邮编
  18. poiType: //POI类型,0:普通点 1:公交站 2:公交线路 3:地铁站 4:地铁线路
  19. }]
  20. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg: //返回报错信息
  3. }

示例代码

  1. var city = "北京";
  2. var key = "学校";
  3. var index = 0;
  4. var baiduMap = api.require('baiduMap');
  5. baiduMap.searchInCity({
  6. city: city,
  7. key: key
  8. }, function(ret, err) {
  9. if (ret.status) {
  10. alert(JSON.stringify(ret));
  11. } else {
  12. alert(JSON.stringify(err));
  13. }
  14. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

searchNearBy

根据单个关键字在指定圆圈区域内搜索兴趣点

searchNearBy({params}, callback(ret, err))

params

key:

  • 类型:字符串
  • 默认值:无
  • 描述:指定的要搜索的关键字

lon:

  • 类型:数字
  • 默认值:无
  • 描述:指定的区域中心点经度

lat:

  • 类型:数字
  • 默认值:无
  • 描述:指定的区域中心点纬度

radius:

  • 类型:数字
  • 默认值:无
  • 描述:指定的区域半径,单位为m

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //是否查找成功
  3. totalNum: //本次搜索的总结果数
  4. currNum: //当前页的结果数
  5. totalPage: //本次搜索的总页数
  6. pageIndex: //当前页的索引
  7. resultArray: //返回搜索结果列表,是一个数组
  8. 内部字段:
  9. [{
  10. lon: //当前内容的经度
  11. lat: //当前内容的纬度
  12. name: //名称
  13. uid: //id
  14. add: //地址
  15. city: //所在城市
  16. phone: //电话号码
  17. postCode: //邮编
  18. poiType: //POI类型,0:普通点 1:公交站 2:公交线路 3:地铁站 4:地铁线路
  19. }]
  20. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg: //返回报错信息
  3. }

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.searchNearBy({
  3. key: 'KTV',
  4. lon: 116.384767,
  5. lat: 39.989539,
  6. radius: 2000
  7. }, function(ret, err) {
  8. if (ret.status) {
  9. alert(JSON.stringify(ret));
  10. } else {
  11. alert(JSON.stringify(err));
  12. }
  13. });

补充说明

在指定圆圈区域内搜索兴趣点

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

searchInBounds

根据单个关键字在指定方形区域内搜索兴趣点

searchInBounds({params}, callback(ret, err))

params

key:

  • 类型:字符串
  • 默认值:无
  • 描述:指定的要搜索的关键字

lbLon:

  • 类型:数字
  • 默认值:无
  • 描述:区域左下角经度

lbLat:

  • 类型:数字
  • 默认值:无
  • 描述:指定的区域左下角纬度

rtLon:

  • 类型:数字
  • 默认值:无
  • 描述:指定的区域右上角经度

rtLat:

  • 类型:数字
  • 默认值:无
  • 描述:指定的区域右上角纬度

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //是否查找成功
  3. totalNum: //本次搜索的总结果数
  4. currNum: //当前页的结果数
  5. totalPage: //本次搜索的总页数
  6. pageIndex: //当前页的索引
  7. resultArray: //返回搜索结果列表,是一个数组
  8. 内部字段:
  9. [{
  10. lon: //当前内容的经度
  11. lat: //当前内容的纬度
  12. name: //名称
  13. uid: //id
  14. add: //地址
  15. city: //所在城市
  16. phone: //电话号码
  17. postCode: //邮编
  18. poiType: //POI类型,0:普通点 1:公交站 2:公交线路 3:地铁站 4:地铁线路
  19. }]
  20. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg: //返回报错信息
  3. }

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.searchInBounds({
  3. key: '图书馆', // 要搜索的关键字.
  4. lbLon: 112.47723797622677, // 左下角经度.
  5. lbLat: 34.556480000000015, // 左下角纬度.
  6. rtLon: 109.77539000000002, // 右上角经度.
  7. rtLat: 33.43144 // 右上角纬度.
  8. }, function(ret, err) {
  9. if (ret.status) {
  10. alert(JSON.stringify(ret));
  11. } else {
  12. alert(JSON.stringify(err));
  13. }
  14. });

补充说明

在指定方形区域内搜索单个兴趣点

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getLocationFromName

根据地址查找经纬度

getLocationFromName({params}, callback(ret, err))

params

city:

  • 类型:字符串
  • 默认值:无
  • 描述:所要搜索的地址所在的城市

address:

  • 类型:字符串
  • 默认值:无
  • 描述:所要获得的经纬度的地址信息

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //是否查找成功
  3. lon: //返回经度
  4. lat: //返回纬度
  5. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg: //返回报错信息
  3. }

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.getLocationFromName({
  3. city: '北京',
  4. address: '泰翔商务楼'
  5. }, function(ret, err) {
  6. if (ret.status) {
  7. alert(JSON.stringify(ret));
  8. } else {
  9. alert(JSON.stringify(err));
  10. }
  11. });

补充说明

根据地址信息查找经纬度

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getNameFromLocation

根据经纬度查找地址信息

getNameFromLocation({params}, callback(ret, err))

params

lon:

  • 类型:数字
  • 默认值:无
  • 描述:经度

lat:

  • 类型:数字
  • 默认值:无
  • 描述:纬度

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //是否查找成功
  3. lon: //返回经度
  4. lat: //返回纬度
  5. add //地址
  6. province: //所在省份
  7. city: //所在城市
  8. district: //所在县区
  9. streetName: //街道名
  10. streetNumber: //街道号
  11. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg: //返回报错信息
  3. }

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.getNameFromLocation({
  3. lon: 116.384767,
  4. lat: 39.989539
  5. }, function(ret, err) {
  6. if (ret.status) {
  7. alert(JSON.stringify(ret));
  8. } else {
  9. alert(JSON.stringify(err));
  10. }
  11. });

补充说明

根据经纬度查找地址信息

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getBusRouteFromLineNum

根据公交线路号查询详情并在地图上显示

getBusRouteFromLineNum({params}, callback(ret, err))

params

city:

  • 类型:字符串
  • 默认值:无
  • 描述:公交所在城市

line:

  • 类型:字符串
  • 默认值:无
  • 描述:公交编号

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //是否查找成功
  3. busName: //公交名字
  4. company: //公交公司
  5. startTime: //最早发车时间
  6. endTime: //最晚班车时间
  7. stepInfo: //是一个数组包含了站点信息
  8. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg: //返回报错信息
  3. }

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.getBusRouteFromLineNum({
  3. city: '北京',
  4. line: '345'
  5. }, function(ret, err) {
  6. if (ret.status) {
  7. alert(JSON.stringify(ret));
  8. } else {
  9. alert(JSON.stringify(err));
  10. }
  11. });

补充说明

根据公交线路号查公交详情

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeBusRoute

移除地图上查询的公交线路

removeBusRoute()

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.removeBusRoute();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

longPressGesture

在地图上添加长按手势,返回该点经纬度

longPressGesture({params}, callBack(ret, err))

params

add:

  • 类型:布尔
  • 默认值:true
  • 描述:(可选项)是否添加长按手势,若false则移除之前添加的长按手势

callBack(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. lon: //长按的地点的经度
  3. lat: //长按的地点的纬度
  4. }

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.longPressGesture(function(ret, err) {
  3. if (ret) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(JSON.stringify(err));
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setMapListener

在地图上添加视角改变监听,返回当前地图中心坐标,视角倾斜度,地图旋转角度,地图缩放度

setMapListener({params}, callBack(ret, err))

params

add:

  • 类型:布尔
  • 默认值:true
  • 描述:(可选项)是否添加监听,若false则移除之前添加的监听

callBack(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. lon: //当前地图中心的经度
  3. lat: //当前地图中心的纬度
  4. zoom //地图缩放角度
  5. rotate //地图旋转角度
  6. overlook //视角倾斜度
  7. }

示例代码

  1. var baiduMap = api.require('baiduMap');
  2. baiduMap.setMapListener(function(ret, err) {
  3. if (ret) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(JSON.stringify(err));
  7. }
  8. });

可用性

iOS系统,Android系统 可提供的1.0.2及更高版本

setMapTapListener

在地图上添加单击监听

setMapTapListener({params}, callBack(ret, err))

params

add:

  • 类型:布尔
  • 默认值:true
  • 描述:(可选项)是否添加监听,若false则移除之前添加的监听

callBack(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. eventType: //点击事件类型,取值范围:single--单击、double--双击
  3. lon: //点击点的经度
  4. lat: //点击点的纬度
  5. zoom: //地图缩放角度
  6. rotate: //地图旋转角度
  7. overlook: //视角倾斜度
  8. }

示例代码

  1. var baiduMap = api.require("baiduMap");
  2. baiduMap.setMapTapListener(function(ret, err) {
  3. if (ret) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(JSON.stringify(err));
  7. }
  8. });

可用性

iOS系统,Android系统 可提供的1.0.2及更高版本

地图类型 跟踪类型 精度 路线策略

地图类型

设置地图的类型,字符串类型

取值范围:

  • standard //标准地图
  • trafficOn //打开实时路况,iOS 暂不支持
  • trafAndsate //实时路况和卫星地图,iOS 暂不支持
  • satellite //卫星地图

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

跟踪类型

设置当前位置的类型,字符串类型

取值范围:

  • none //标准模式
  • follow //跟踪模式
  • compass //罗盘模式

注:Android系统如果为follow和compass模式,此时往地图中添加图层(大头针,布告牌等…)地图会自动移到定位信息那里。模式为none没有这种情况

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

精度

定位精度,定位时只返回精度范围内的坐标。字符串类型

取值范围:

  • 10m
  • 100m
  • 1km
  • 3km

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

路线策略

设置添加路线的策略。字符串类型

取值范围:

  • ecar_fee_first //驾乘检索策略常量:较少费用
  • ecar_dis_first //驾乘检索策略常量:最短距离
  • ecar_time_first //驾乘检索策略常量:时间优先
  • ecar_avoid_jam //驾车策略: 躲避拥堵
  • ebus_no_subway //公交检索策略常量:不含地铁
  • ebus_time_first //公交检索策略常量:时间优先
  • ebus_transfer_first //公交检索策略常量:最少换乘
  • ebus_walk_first //公交检索策略常量:最少步行距离

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本