aMap
来自于:官方立即使用
基础类
室内地图
标注、气泡类
覆盖物类
搜索类
autocomplete
districtSearch
weatherSearch
离线地图类
clearDisk checkNewestVersion reloadMap getDownloadOfflineMapCityList getDownloadingCityList setOfflineLoadListenr
经纬度坐标转换、轨迹纠偏
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。
概述
注意:应工信部要求,自本模块1.6.0版本起首次调用本模块前必须先弹出隐私协议,详情参考SDK合规使用方案。之后需先调用 updateMapViewPrivacy、updateSearchPrivacy,否则地图和搜索接口都无效。
高德地图简介
高德地图 是国内一流的免费地图导航产品,也是基于位置的生活服务功能最全面、信息最丰富的手机地图,由国内最大的电子地图、导航和LBS服务解决方案提供商高德软件(纳斯达克AaMap)提供。高德地图采用领先的技术为用户打造了最好用的“活地图”,不管在哪、去哪、找哪、怎么去、想干什么一图在手,统统搞定,省电省流量更省钱,堪称最完美的生活出行软件。地图数据覆盖中国大陆及香港澳门,遍及337个地级2857个县级以上行政区划单位;导航支持GPS、基站、网络等多种方式一键定位。美食、酒店、演出、商场等各种深度POI点达2600多万条,衣食住行吃喝玩乐全方位海量生活信息可供搜索查询。自动生成“最短”“最快”“最省钱”等多种路线规划以供选择,可根据实时路况选择最优公交/驾车出行路线。
高德地图特色功能
动态导航
交通路况实时播报,智能计算到达目的地所需的时间,避堵路线方案规划
离线下载
3D离线地图,分地区下载地图包,全国地图包、全国概要图
地图搜索
热门地点、线路搜索,公交、自驾出行线路规划,公交、火车、天气查询服务
全新引擎
最新3D版本,360度旋转视角,矢量数据传送,观看更流畅、更清晰。
兴趣点
餐饮、住宿、优惠、演出、团购全覆盖,海量兴趣点随意搜
模块概述
aMap 模块封装了高德地图的原生 SDK,集成了高德地图常用基本接口;手机版原生地图,不同于 js 地图,相对于js地图而言,本模块封装的原生手机地图更加流畅迅速、动画效果更加逼真。使用此模块可轻松把高德地图集成到自己的app内,实现高德地图常用的定位、关键字搜索、周边搜索、自定义标注及气泡、查公交路线等各种功能;另外本模块已支持高德地图离线版本。
若某些带UI的接口不能满足开发设计需求,开发者(借助于原生开发者)可在本模块基础上修改少量原生代码,随心所欲的自定义高德地图所具有的原生功能,简单、轻松、快捷、高效、迅速集成高德地图,将自己的 app 和高德地图实现无缝链接。模块原生代码开源地址为:https://github.com/apicloudcom/moduleCode/aMap
模块使用攻略
注意事项
本模块内带动画效果的接口不可同时调用(两个以上),需要设置延迟(setTimeout
)处理。
需要在APICloud 网站控制台编译界面选择定位权限。凡是需要使用定位功能的模块,请先选择定位权限
不能同时添加的模块:aMapLocation, baiduLocation
使用此模块之前必须先配置 config 文件,配置方法如下:
- 名称:aMap
- 参数:android_api_key、ios_api_key
- 备注:同一个 App 需要同时支持 iOS 和 Android 平台,必须单独申请各自的 apiKey,并同时配置在 config 文件中
- 配置示例:
<feature name="aMap">
<param name="android_api_key" value="f7Is0dWLom2q6rV3ZfFPZ1aa" />
<param name="ios_api_key" value="81qz3dBYB5q2nGji4IYrawr1" />
</feature>
字段描述:
android_api_key:在高德地图开放平台申请的 Android 端 AK
ios_api_key:在高德地图开放平台申请的 iOS 端 AK
用户在使用本模块之前需要获取高德地图API Key,Key 申请的具体流程请参照 申请Key。本模块需要的 key 可以和 aMapLBS、aMapLocation 、aMapNavigation 、aMapReportLocation 模块的 key 共用(即相关key配置一个即可)。
注意:在 iOS 上版本使用定位功能,需要在云编译时勾选 定位(使用期间)
和 定位服务(始终)
从1.5.0版本起,iOS 端 SDK 更新为高德最新版本SDK,最新版本的SDK包含 IDFA 相关功能。所以 iOS 端提交 AppStore 时必须认真阅读 提交AppStore必读,以及如何解决因获取 IDFA 被 AppStore 拒绝的问题?
关于AVM方式
本模块支持 AVM 方式打开。通过 AVM 标签方式打开的模块,在 js 代码中需要通过 document.getElementById 的形式获取该模块实例对象然后进行其它逻辑的操作。否则会产生莫名其妙的问题。
示例:
<mo-amap id="engine3amap"></mo-amap>
该模块同时也支持 api.require 方式调用,通过 open 接口相当于 AVM 的标签打开了一个GIF图片显示区域的 frame(view)模块。
模块接口
updateMapViewPrivacy
设置地图类隐私权限
updateMapViewPrivacy({params})
params
privacyAgree:
- 类型:字符串
- 描述:(可选项)用户同意隐私状态
- 默认值:didAgree
- 取值范围:
- didAgree:已同意
- notAgree;不同意
- unknow:未知
privacyShow:
- 类型:字符串
- 描述:(可选项)显示隐私弹窗状态
- 默认值:didShow
- 取值范围:
- didShow:已显示
- notShow;未显示
- unknow:未知
containStatus:
- 类型:字符串
- 描述:(可选项) 集成SDK隐私信息状态
- 默认值:didContain
- 取值范围:
- didContain:已集成
- notContain;未集成
- unknow:未知
示例代码
var aMap = api.require('aMap');
aMap.updateMapViewPrivacy({
privacyAgree:'didAgree',
privacyShow:'didShow',
containStatus:'didContain'
});
可用性
iOS系统,Android系统
可提供的1.6.0及更高版本
updateSearchPrivacy
设置搜索类隐私权限
updateSearchPrivacy({params})
params
privacyAgree:
- 类型:字符串
- 描述:(可选项)用户同意隐私状态
- 默认值:didAgree
- 取值范围:
- didAgree:已同意
- notAgree;不同意
- unknow:未知
privacyShow:
- 类型:字符串
- 描述:(可选项)显示隐私弹窗状态
- 默认值:didShow
- 取值范围:
- didShow:已显示
- notShow;未显示
- unknow:未知
containStatus:
- 类型:字符串
- 描述:(可选项) 集成SDK隐私信息状态
- 默认值:didContain
- 取值范围:
- didContain:已集成
- notContain;未集成
- unknow:未知
示例代码
var aMap = api.require('aMap');
aMap.updateSearchPrivacy({
privacyAgree:'didAgree',
privacyShow:'didShow',
containStatus:'didContain'
});
可用性
iOS系统,Android系统
可提供的1.6.0及更高版本
open
打开高德地图
open({params}, callback(ret))
params
showUserLocation:
- 类型:布尔
- 描述:(可选项)是否在地图上显示用户位置
- 默认值:true
showUserLocation:
- 类型:布尔
- 描述:(可选项)是否在地图上显示用户位置
- 默认值:true
rect:
- 类型:JSON 对象
- 描述:(可选项)模块的位置及尺寸
- 内部字段:
{
x: 0, //(可选项)数字类型;地图左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
y: 0, //(可选项)数字类型;地图左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
w: 320, //(可选项)数字类型;地图的宽度;默认:'auto'
h: 480 //(可选项)数字类型;地图的高度;默认:'auto'
}
center:
- 类型:数字
- 描述:(可选项)打开地图时设置的中心点经纬度,若不传则默认打开北京市为中心的地图
- 内部字段:
{
lon: 116.213, //数字类型;打开地图时设置的中心点经度
lat: 39.213 //数字类型;打开地图时设置的中心点纬度
}
zoomLevel:
- 类型:数字
- 描述:(可选项)设置高德地图缩放等级,取值范围:3-18级
- 默认值:10
showUserLocation:
- 类型:布尔
- 描述:(可选项)是否在地图上显示用户位置
- 默认值:true
userLocationCanShowCallout:
- 类型:布尔
- 描述:(可选项)地图上显示用户位置时,是否支持点击位置弹出提示,只支持iOS端
- 默认值:true
showsAccuracyRing:
- 类型:布尔
- 描述:(可选项)是否在地图上显示用户位置的精度圈儿
- 默认值:true
- 注意:若open时本参数为false 则 showUserLocation 接口传 true 也无法显示精度圈儿
isGestureScaleByMapCenter:
- 类型:布尔
- 描述:(可选项) 设置是否以地图中心点缩放 (ios不支持)
- 默认值:false
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 默认:模块依附于当前 window
fixed:
- 类型:布尔
- 描述:(可选项)模块是否随所属 window 或 frame 滚动
- 默认值:true(不随之滚动)
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
}
示例代码
var aMap = api.require('aMap');
aMap.open({
rect: {
x: 0,
y: 0,
w: 320,
h: 300
},
showUserLocation: true,
zoomLevel: 11,
center: {
lon: 116.4021310000,
lat: 39.9994480000
},
fixedOn: api.frameName,
fixed: true
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
close
关闭高德地图
close()
示例代码
var aMap = api.require('aMap');
aMap.close();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
show
显示高德地图
show()
示例代码
var aMap = api.require('aMap');
aMap.show();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
hide
隐藏高德地图
hide()
示例代码
var aMap = api.require('aMap');
aMap.hide();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setRect
重设地图的显示区域
setRect({params})
params
rect:
- 类型:JSON 对象
- 描述:(可选项)模块的位置及尺寸
- 内部字段:
{
x: 0, //(可选项)数字类型;地图左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:原值
y: 0, //(可选项)数字类型;地图左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:原值
w: 320, //(可选项)数字类型;地图的宽度;默认:原值
h: 480 //(可选项)数字类型;地图的高度;默认:原值
}
示例代码
var aMap = api.require('aMap');
aMap.setRect({
rect: {
x: 0,
y: 0,
w: 320,
h: 300
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getLocation
获取当前位置信息,若要支持后台定位需配置 config.xml 文件 location 字段。iOS上调用本接口需先 open,在iOS 平台上 showUserLocation 为 false 时此接口不可用
注:根据高德地图技术回复,在有的手机上即使拒绝手机定位权限,依然可以获取到位置信息
getLocation({params}, callback(ret, err))
params
autoStop:
- 类型:布尔
- 描述:(可选项)获取到位置信息后是否自动停止定位
- 默认值:true
enableLocInForeground:
- 类型:布尔类型
- 描述:(可选项) 开发者应用如果有后台定位需求,在退到后台的时候,为了保证定位可以在后台一直运行,可以设置为true,适配android 8后台无法定位问题;注:单次定位(autoStop为true时)无效(ios不支持)
- 默认值:false
notification:
- 类型:JSON对象
- 描述:(必选项) 通知栏的提示,此字段只有在enableLocInForeground设置为true时有效。(ios不支持)
内部字段:
{
title :'', //(可选项) 字符串类型;标题; 默认值:应用名称
content:'', //(可选项) 字符串类型;内容; 默认值:正在后台运行
channelId:'', //字符串类型,通知通道号,argetSdkVersion大于等于28时必填
}
channelId:可通过notificationUtil模块获取
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
lon: 116.213, //数字类型;经度
lat: 39.213, //数字类型;纬度
accuracy: 65, //数字类型;本次定位的精度
timestamp: 1396068155591, //数字类型;时间戳
heading:200, //数字类型;设备方向,取值范围:0.0(正北) - 359.9
altitude: 200 //数字类型;当前设备所处的海拔信息
verticalAccuracy: 10 //数字类型;垂直位置精度,无效时为负数 (android不支持)
horizontalAccuracy: 20 //数字类型;平面位置精度,无效时为负数(android不支持)
course: 200 //数字类型;偏离正北方向的角度,无效时为负数,范围 0.0 - 359.9
speed: 200 //数字类型;速度,无效时为负数,单位:m/s
floor: 2 //数字类型;在建筑物的第几层,无效时不返回
locationType: //数字类型;定位类型,仅支持android端
locationDetail: //字符串类型;定位详情,仅支持android端
}
err:
- 类型:JSON 对象
- 内部字段:
{
status: false, //布尔型;true||false
errorCode: //数字类型;错误码
errorInfo:"" //字符串类型;错误信息
}
示例代码
var aMap = api.require('aMap');
aMap.getLocation(function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
stopLocation
停止定位
stopLocation()
示例代码
var aMap = api.require('aMap');
aMap.stopLocation();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getCoordsFromName
根据地址查找经纬度,无需调用 open 接口即可使用
getCoordsFromName({params}, callback(ret, err))
params
city:
- 类型:字符串
- 描述:(可选项)所要搜索的地址所在的城市,cityname(中文或中文全拼)、citycode、adcode
- 注意:如果address是完整的地址,本参数可不传。若传必须传城市,不可带省,如:济南;不能传山东济南
address:
- 类型:字符串
- 描述:完整的地址信息
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
lon: 116.351, //数字类型;地址所在经度
lat: 39.283 //数字类型;地址所在纬度
}
err:
- 类型:JSON 对象
- 内部字段:
{
code: 1 //数字类型;错误码
msg: //字符串类型;错误描述
}
示例代码
var aMap = api.require('aMap');
aMap.getCoordsFromName({
city: '济南',
address: '济南市市中区趵突泉南路1号趵突泉公园内'
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getNameFromCoords
根据经纬度查找地址信息,无需调用 open 接口即可使用
getNameFromCoords({params}, callback(ret))
params
lon:
- 类型:数字
- 描述:经度
lat:
- 类型:数字
- 描述:纬度
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
address: '', //字符串类型;地址信息
state: '', //字符串类型;省份
city: '', //字符串类型;城市
district: '', //字符串类型;县区
street: '', //字符串类型;街道名
number: '', //字符串类型;门牌号
thoroughfare: '', //字符串类型;社区
township: '', //字符串类型;乡镇
building: '', //字符串类型;建筑
adcode: '', //字符串类型;地址编号
citycode: '' //字符串类型;城市编号
}
示例代码
var aMap = api.require('aMap');
aMap.getNameFromCoords({
lon: 116.384767,
lat: 39.989539
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getDistance
获取地图两点之间的距离,无需调用 open 接口即可使用
getDistance({params}, callback(ret))
params
start:
- 类型:JSON 对象
- 描述:起点经纬度
- 内部字段:
{
lon: 106.486654, //数字类型;起点的经度
lat: 29.490295 //数字类型;起点的纬度
}
end:
- 类型:JSON 对象
- 描述:终点经纬度
- 内部字段:
{
lon: 106.581515, //数字类型;终点的经度
lat: 29.615467 //数字类型;终点的纬度
}
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
distance: 16670.90 //数字类型;两点之间的距离,单位:米
}
示例代码
var aMap = api.require('aMap');
aMap.getDistance({
start: {
lon: 106.486654,
lat: 29.490295
},
end: {
lon: 106.581515,
lat: 29.615467
}
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
showUserLocation
是否在地图上显示用户位置
showUserLocation({params})
params
isShow:
- 类型:布尔
- 描述:(可选项)是否显示用户位置
- 默认值:true
imagePath:
- 类型:字符串
- 描述:(可选项)当前位置显示图标的图片,要求本地路径支持fs,widget
- 默认值:高德地图默认当前位置图标
imageSize:
- 类型:JSON 对象
- 描述:(可选项)设置的当前位置显示图标的大小,当imagePath 为空时,本参数无意义。
- 默认值:原图宽高的一半
- 内部字段:
{
w:, //(可选项)数字类型;图标宽度;默认:原图宽的一半
h: //(可选项)数字类型;图标高度度;默认:原图高的一半
}
showsAccuracyRing:
- 类型:布尔
- 描述:(可选项)精度圈是否显示
- 默认值:true
- 注意:若 open 时 showsAccuracyRing 为false 则本接口的此参数传 true 也无法显示精度圈儿
showsHeadingIndicator:
- 类型:布尔
- 描述:(可选项)是否显示方向指示(setTrackingMode接口heading模式开启)。1.5.3以及以后android版本此参数失效,使用locationType参数控制定位模式
- 默认值:true
enablePulseAnnimation:
- 类型:布尔
- 描述:(可选项)内部蓝色圆点是否使用律动效果(android不支持)
- 默认值:true
fillColor:
- 类型:字符串
- 描述:(可选项)精度圈 填充颜色
- 默认值:系统默认色
strokeColor:
- 类型:字符串
- 描述:(可选项)精度圈 边线颜色
- 默认值:系统默认色
dotBgColor:
- 类型:字符串
- 描述:(可选项)定位点背景色(android不支持)
- 默认值:白色
dotFillColor:
- 类型:字符串
- 描述:(可选项)定位点蓝色圆点颜色(android不支持)
- 默认值:蓝色
lineWidth:
类型:数字
描述:(可选项)精度圈 边线宽度
默认值:0
locationType
类型:数字
描述:(可选项)定位模式(仅Android支持)
默认值:1
取值范围:
- 1:定位、且将视角移动到地图中心点
- 2:定位、且将视角移动到地图中心点,定位点跟随设备移动
- 3:定位、且将视角移动到地图中心点,地图依照设备方向旋转,定位点会跟随设备移动
- 4:定位、且将视角移动到地图中心点,定位点依照设备方向旋转,并且会跟随设备移动
- 5:定位、但不会移动到地图中心点,定位点依照设备方向旋转,并且会跟随设备移动
- 6:定位、但不会移动到地图中心点,并且会跟随设备移动
- 7:定位、但不会移动到地图中心点,地图依照设备方向旋转,并且会跟随设备移动
示例代码
var aMap = api.require('aMap');
aMap.showUserLocation({
isShow: true
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setTrackingMode
设置跟踪类型,android端1.5.3以及以后版本建议使用showUserLocation -locationType控制
setTrackingMode({params})
params
trackingMode:
- 类型:字符串
- 描述:(可选项)用户当前位置显示形式
- 默认值:none
- 取值范围:
- none(不追踪用户的 location 更新)
- follow(追踪用户的 location 更新)
- heading(追踪用户的 location 与 heading 更新)
animation:
- 类型:布尔类型
- 描述:(可选项)设置地图的当前位置标记的追踪状态时,是否带动画效果,暂仅支持 iOS 平台
- 默认:true
示例代码
var aMap = api.require('aMap');
aMap.setTrackingMode({
animation: false,
trackingMode: 'none'
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setCenter
根据经纬度设置高德地图中心点
setCenter({params})
params
coords:
- 类型:JSON 对象
- 描述:(可选项)中心点的经纬度
- 内部字段:
{
lon: 116.404, //(可选项)数字类型;设置中心点的经度
lat: 39.915 //(可选项)数字类型;设置中心点的纬度
}
animation:
- 类型:布尔类型
- 描述:(可选项)设置地图的中心点时,是否带动画效果
- 默认:true
示例代码
var aMap = api.require('aMap');
aMap.setCenter({
coords: {
lon: 116.404,
lat: 39.915
},
animation: false
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getCenter
获取高德地图中心点坐标
getCenter(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
lon: 116.404, //数字类型;地图中心点的经度
lat: 39.915 //数字类型;地图中心点的纬度
}
示例代码
var aMap = api.require('aMap');
aMap.getCenter(function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setZoomLevel
设置高德地图缩放等级
setZoomLevel({params})
params
level:
- 类型:数字
- 描述:(可选项)地图比例尺级别,取值范围:0.01-20
- 默认值:10
animation:
- 类型:布尔类型
- 描述:(可选项)地图缩放时,是否带动画效果
- 默认:true
示例代码
var aMap = api.require('aMap');
aMap.setZoomLevel({
level: 10,
animation: true
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getZoomLevel
获取地图缩放级别(0.01-20)
getZoomLevel(callback(ret, err))
callback
ret:
- 类型:JSON 对象
- 内部字段:
{
level: 11 //数字类型;地图当前缩放级别
}
示例代码
var aMap = api.require('aMap');
aMap.getZoomLevel(function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setMapAttr
设置高德地图相关属性
setMapAttr({params})
params
type:
- 类型:字符串
- 描述:(可选项)设置地图类型
- 默认值:'standard'
- 取值范围:
- standard(标准地图)
- satellite(卫星地图)
- night(夜间模式)
trafficOn:
- 类型:布尔
- 描述:(可选项)是否打开实时路况
- 默认值:false
zoomEnable:
- 类型:布尔
- 描述:(可选项)捏合手势是否可以缩放地图
- 默认值:true
scrollEnable:
- 类型:布尔
- 描述:(可选项)拖动手势是否可以移动地图
- 默认值:ture
overlookEnabled:
- 类型:布尔
- 描述:(可选项)是否支持俯视旋转
- 默认值:ture
rotateEnabled:
- 类型:布尔
- 描述:(可选项)是否支持平面旋转
- 默认值:ture
building:
- 类型:布尔
- 描述:(可选项)是否隐藏楼块,俯视角度不为零时的楼快效果,Android 平台上默认打开状态,且不可改变
- 默认值:false
示例代码
var aMap = api.require('aMap');
aMap.setMapAttr({
type: 'standard',
trafficOn: true,
zoomEnable: false,
scrollEnable: false,
building: true,
overlookEnabled: false,
rotateEnabled: false
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setRotation
设置高德地图旋转角度(逆时针为正向)
setRotation({params})
params
degree:
- 类型:数字
- 描述:(可选项)地图旋转角度,取值范围:-180° - 180°
- 默认值:0
animation:
- 类型:布尔
- 描述:(可选项)地图旋转时,是否带动画效果
- 默认:true
duration:
- 类型:数字
- 描述:(可选项)地图旋转动画时长,单位秒(s)
- 默认:0.3
示例代码
var aMap = api.require('aMap');
aMap.setRotation({
degree: 30,
animation: true,
duration: 0.3
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getRotation
获取地图当前旋转角度
getRotation(callback(ret, err))
callback
ret:
- 类型:JSON 对象
- 内部字段:
{
rotation: 11 //数字类型;地图当前旋转角度
}
示例代码
var aMap = api.require('aMap');
aMap.getRotation(function(ret) {
alert(JSON.stringify(ret.level));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setOverlook
设置地图俯视角度(范围为[0.f, 60.f])
setOverlook({params})
params
degree:
- 类型:数字
- 描述:(可选项)地图俯视角度,取值范围:0° - 60°
- 默认值:0
animation:
- 类型:布尔
- 描述:(可选项)地图俯视角度转动时,是否带动画效果
- 默认:true
duration:
- 类型:数字
- 描述:(可选项)地图俯视角度转动动画时长,单位秒(s)
- 默认:0.3
示例代码
var aMap = api.require('aMap');
aMap.setOverlook({
degree: 30,
animation: true,
duration: 0.3
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getOverlook
获取地图当前俯视角度
getOverlook(callback(ret, err))
callback
ret:
- 类型:JSON 对象
- 内部字段:
{
overlook: 11 //数字类型;地图当前俯视角度
}
示例代码
var aMap = api.require('aMap');
aMap.getOverlook(function(ret) {
alert(JSON.stringify(ret.level));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setRegion
设置地图显示范围(矩形区域)
setRegion({params})
params
lbLon:
- 类型:数字
- 描述:矩形区域左下角的经度
lbLat:
- 类型:数字
- 描述:矩形区域左下角的纬度
rtLon:
- 类型:数字
- 描述:矩形区域右上角的经度
rtLat:
- 类型:数字
- 描述:矩形区域右上角的纬度
animation:
- 类型:布尔类型
- 描述:(可选项)设置地图的区域时,是否带动画效果
- 默认:true
示例代码
var aMap = api.require('aMap');
aMap.setRegion({
lbLon: 116.027143,
lbLat: 39.772348,
rtLon: 116.832025,
rtLat: 40.126349,
animation: true
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getRegion
获取地图显示范围(矩形区域)
getRegion(callback(ret, err))
callback
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
lbLon: 116.027143, //数字类型;矩形区域左下角的经度
lbLat: 39.772348, //数字类型;矩形区域左下角的纬度
rtLon: 116.832025, //数字类型;矩形区域右上角的经度
rtLat: 40.126349 //数字类型;矩形区域右上角的纬度
}
示例代码
var aMap = api.require('aMap');
aMap.getRegion(function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setScaleBar
设置高德地图比例尺
setScaleBar({params})
params
show:
- 类型:布尔
- 描述:(可选项)是否显示比例尺
- 默认值:false
position:
- 类型:JSON 对象
- 描述:(可选项)比例尺的位置,设定坐标以地图左上角为原点,在 Android 平台上为固定位置,本参数无效
- 内部字段:
{ x: 0, //(可选项)数字类型;比例尺左上角的 x 坐标(相对于地图);默认:0 y: 0 //(可选项)数字类型;比例尺左上角的 y 坐标(相对于地图);默认:0 }
示例代码
var aMap = api.require('aMap');
aMap.setScaleBar({
show: true,
position: {
x:100,
y:100
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setCompass
设置高德地图指南针
setCompass({params})
params
show:
- 类型:布尔
- 描述:(可选项)是否显示指南针
- 默认值:false
position:
- 类型:JSON 对象
- 描述:(可选项)指南针的位置,设定坐标以地图左上角为原点,在 Android 平台上为固定位置,本参数无效
- 内部字段:
{ x: 0, //(可选项)数字类型;指南针左上角的 x 坐标(相对于地图);默认:0 y: 0 //(可选项)数字类型;指南针左上角的 y 坐标(相对于地图);默认:0 }
img:
- 类型:布尔
- 描述:(可选项)自定义指南针图标图片路径,要求本地路径(fs://、widget://),Android 平台上忽略本参数
- 默认值:高德地图默认图标
示例代码
var aMap = api.require('aMap');
aMap.setCompass({
show: true,
img: 'widget://res/compass.png',
position: {
x:100,
y:100
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setLogo
设置高德地图 logo 的位置
setLogo({params})
params
position:
- 类型:字符串
- 默认:right
- 描述:(可选项)高德地图 logo 的位置,取值范围如下:
- left:地图左下角
- center:地图底部居中
- right:地图右下角
示例代码
var aMap = api.require('aMap');
aMap.setLogo({
position: 'right'
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
isPolygonContainsPoint
判断已知点是否在指定的多边形区域内
isPolygonContainsPoint({params}, callback(ret, err))
params
point:
- 类型:JSON 对象
- 描述:已知点的地理坐标
- 内部字段:
{
lon: 116.297, //数字类型;经度
lat: 40.109 //数字类型;纬度
}
points:
- 类型:数组
- 描述:多边形的各个点组成的数组
- 内部字段:
[{
lon: 116.297, //数字类型;经度
lat: 40.109 //数字类型;纬度
}]
params
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;目标点是否在指定区域内,true || false
}
示例代码
var aMap = api.require('aMap');
aMap.isPolygonContainsPoint({
point: {
lon: 116.39432327,
lat: 39.98963192
},
points: [{
lon: 116.39432327,
lat: 39.98963192
}, {
lon: 116.49432328,
lat: 39.98963192
}, {
lon: 116.39432327,
lat: 39.88933191
}]
}, function(ret) {
alert(ret.status);
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
isCircleContainsPoint
判断已知点是否在指定的圆形区域内
isCircleContainsPoint({params}, callback(ret, err))
params
point:
- 类型:JSON 对象
- 描述:已知点的地理坐标
- 内部字段:
{
lon: 116.297, //数字类型;经度
lat: 40.109 //数字类型;纬度
}
circle:
- 类型:JSON
- 描述:圆形信息
- 内部字段:
{
center: { //JSON对象;圆心信息
lon: 116.297, //数字类型;经度
lat: 40.109 //数字类型;纬度
},
radius: 100 //(可选项)数字类型;半径,单位米(m);默认:100
}
params
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;目标点是否在指定区域内,true || false
}
示例代码
var aMap = api.require('aMap');
aMap.isCircleContainsPoint({
point: {
lon: 116.39432327,
lat: 39.98963192
},
circle: {
center: {
lon: 116.297,
lat: 40.109
},
radius: 100
}
}, function(ret) {
alert(ret.status);
});
可用性
iOS系统,Android系统
可提供的1.1.9及更高版本
interconvertCoords
经纬度坐标与地图容器像素坐标相互转换,经纬度和x,y值传一种即可。
interconvertCoords({params}, callback(ret, err))
params
lon:
- 类型:数字
- 描述:(可选项)原始地理坐标经度
lat:
- 类型:数字
- 描述:(可选项)原始地理坐标纬度
x:
- 类型:数字
- 描述:(可选项)地图容器的 x 坐标
y:
- 类型:数字
- 描述:(可选项)地图容器的 y 坐标
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
x: 334.00004622221184, //数字类型;传经纬度时,返回转换后的地图容器x坐标
y: 207.00000925440887, //数字类型;传经纬度时,返回转换后的地图容器y坐标
lon: 116.213, //数字类型;传x,y值时,返回转换后的地理坐标经度
lat: 39.213 //数字类型;传x,y值时,返回转换后的地理坐标纬度
}
示例代码
var aMap = api.require('aMap');
aMap.interconvertCoords({
lon: 116.351,
lat: 39.283
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
takeSnapshotInRect
在指定区域内截图(默认会包含该区域内的标注)
takeSnapshotInRect({params}, callback(ret))
params
rect:
- 类型:JSON 对象
- 描述:(可选项)所截取区域的位置和大小(相对于地图区域)
- 内部字段:
{
x: 0, //(可选项)数字类型;地图左上角的 x 坐标(相对于地图所在的区域);默认:0
y: 0, //(可选项)数字类型;地图左上角的 y 坐标(相对于地图所在的区域);默认:0
w: 320, //(可选项)数字类型;地图的宽度;默认:地图的宽
h: 480 //(可选项)数字类型;地图的高度;默认:地图的高
}
path:
- 类型:字符串
- 描述:截图保存路径,要求本地路径(fs://),如:fs://aMap/Snapshot.png
quality:
- 类型:数字
- 描述:截图图片质量,仅对iOS端图片格式为jpg时有效,0.1-2
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔类型;是否截图成功
realPath: '' //字符串类型;截图的绝对路径
}
示例代码
var aMap = api.require('aMap');
aMap.takeSnapshotInRect({
rect: {
x: 0,
y: 0,
w: 320,
h: 300
},
path: 'fs://aMap/123.png'
}, function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addEventListener
监听地图相关事件
addEventListener({params}, callback(ret))
params
name:
- 类型:字符串
- 描述:地图相关事件名称
- 取值范围:
- longPress(长按事件)
- viewChange(视角改变事件)
- click(单击事件)
- trackingMode(userTrackingMode 改变事件,暂仅支持 iOS 平台)
- zoom(放大缩小事件)
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
lon: 116.351, //数字类型;触发事件的地点的经度(longPress,click),地图中心的经度(viewChange,trackingMode,zoom)
lat: 39.283, //数字类型;触发事件的地点的纬度(longPress,click),地图中心的纬度(viewChange,trackingMode,zoom)
zoom: 11, //数字类型;地图缩放角度
rotate: 30, //数字类型;地图旋转角度
overlook: 30, //数字类型;视角倾斜度
trackingMode:follow //字符串类型;当前位置标注图标显示的跟踪类型(trackingMode)
- 取值范围:
none(不追踪用户的 location 更新)
follow(追踪用户的 location 更新)
heading(追踪用户的 location 与 heading 更新)
zoomType: 'zoomIn' //字符串类型;zoomIn 放大,zoomOut缩小;name为zoom时有值,iOS平台无此参数
}
示例代码
var aMap = api.require('aMap');
aMap.addEventListener({
name: 'longPress'
}, function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
removeEventListener
停止监听地图相关事件
removeEventListener({params})
params
name:
- 类型:字符串
- 描述:地图相关事件名称
- 取值范围:
- longPress(长按事件)
- viewChange(视角改变事件)
- click(单击事件)
- trackingMode(userTrackingMode 改变事件)
- zoom(放大缩小事件)
示例代码
var aMap = api.require('aMap');
aMap.removeEventListener({
name: 'longPress'
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
isShowsIndoorMap
是否为显示室内地图状态
isShowsIndoorMap(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: false //布尔类型;是否为显示室内地图状态
}
示例代码
var aMap = api.require('aMap');
aMap.isShowsIndoorMap(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.1.3及更高版本
showsIndoorMap
设置是否显示室内地图
showsIndoorMap({params})
params
isShows:
- 类型:布尔
- 描述:(可选项)是否显示室内地图
- 默认:false
示例代码
var aMap = api.require('aMap');
aMap.showsIndoorMap({
isShows: true
});
可用性
iOS系统,Android系统
可提供的1.1.3及更高版本
isShowsIndoorMapControl
是否为显示室内地图默认控件
isShowsIndoorMapControl(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: false //布尔类型;是否为显示室内地图默认控件状态
}
示例代码
var aMap = api.require('aMap');
aMap.isShowsIndoorMapControl(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.1.3及更高版本
showsIndoorMapControl
设置是否显示室内地图默认控件
showsIndoorMapControl({params})
params
isShows:
- 类型:布尔
- 描述:(可选项)是否显示室内地图默认控件
- 默认:false
示例代码
var aMap = api.require('aMap');
aMap.showsIndoorMapControl({
isShows: true
});
可用性
iOS系统,Android系统
可提供的1.1.3及更高版本
indoorMapControlSize
获取默认室内地图控件的最大宽高
indoorMapControlSize(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
size:{ //JSON对象;默认室内地图控件的最大宽高
width:, //数字类型;默认室内地图控件的最大宽
height: //数字类型;默认室内地图控件的最大高
}
}
示例代码
var aMap = api.require('aMap');
aMap.indoorMapControlSize(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS系统
可提供的1.1.3及更高版本
setIndoorMapControlOrigin
设置默认室内地图控件位置
setIndoorMapControlOrigin({params})
params
point:
- 类型:JSON对象
- 描述:(可选项)左上角点位置
- 内部字段:
{
x:0, //数字类型;
y:0 //数字类型;
}
示例代码
var aMap = api.require('aMap');
aMap.setIndoorMapControlOrigin({
point: {
x:10,
y:10
}
});
可用性
iOS系统
可提供的1.1.3及更高版本
setCurrentIndoorMapFloorIndex
设置当前室内地图楼层数
setCurrentIndoorMapFloorIndex({params})
params
floorIndex:
- 类型:数字
- 描述:(可选项)要设置的楼层index
- 默认:0
示例代码
var aMap = api.require('aMap');
aMap.setCurrentIndoorMapFloorIndex({
floorIndex: 2
});
可用性
iOS系统,Android系统
可提供的1.1.3及更高版本
addIndoorMapListener
添加室内地图监听
addIndoorMapListener()
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
eventType:'', //字符串型;交互事件类型,enter进入,change楼层变化,exit退出
indoorInfo:{ //JSON对象;
cnName:, //字符串类型;室内地图中文名 仅IOS支持
enName:, //字符串类型;室内地图英文名 仅IOS支持
poiID:, //字符串类型;室内地图poiID
buildingType:, //字符串类型;建筑类型 仅IOS支持
activeFloorName:, //String类型;当前楼层的name; 仅Android支持
activeFloorIndex:, //数字类型;当前楼层index,和floorInfo内部的index相关
floor_indexs:, //数组类型 室内地图的楼层下标,仅Android支持
floor_names:, //数组类型 室内地图的楼层名称,仅IOS支持
activeFloorInfoIndex:, //数字类型;当前激活的楼层,只和floorInfo相关,与floorInfo内部元素的index无关 仅IOS支持
numberOfFloor:, //数字类型;楼层数量 仅IOS支持
numberOfParkFloor:, //数字类型;停车场楼层数量 仅IOS支持
floorInfo:[{ //数组类型;室内楼层信息 仅IOS支持
floorName:, //字符串类型;楼层名
floorNona:, //字符串类型;楼层别名
floorIndex:, //数字类型;楼层index
isPark: //布尔类型;是否属于停车场
},{},...]
}
}
示例代码
var aMap = api.require('aMap');
aMap.addIndoorMapListener(function(ret,err){
api.alert({msg:JSON.stringify(ret)});
});
可用性
iOS ,android 系统
可提供的1.6.3及更高版本
clearIndoorMapCache
清空室内地图缓存
clearIndoorMapCache()
示例代码
var aMap = api.require('aMap');
aMap.clearIndoorMapCache();
可用性
iOS系统
可提供的1.1.3及更高版本
addAnnotations
在地图上添加标注信息,标注大小默认为 icons 内第一张图片大小的二分之一。图标中轴线的下边缘点为坐标基准点
addAnnotations({params}, callback(ret, err))
params
annotations:
- 类型:数组
- 描述:图标标注信息组成的数组
- 内部字段:
[{
id: 1, //数字类型;图标标注的唯一标识
lon: 116.233, //数字类型;图标标注所在位置的经度
lat: 39.134, //数字类型;图标标注所在位置的纬度
icons: 'widget://', //(可选项)数组类型;指定的标注图标路径组成的数组,若包含多张图片,则此标注显示为多图联动的 gif 动画效果,要求本地路径(fs://、widget://),若不传则显示公用的 icons 图标
selectedIcons: // (可选项) 数组类型;点击标注后的图标路径,若包含多张图片,则此标注显示为多图联动的 gif 动画效果,要求本地路径(fs://、widget://),若不传则显示公用的selectedIcons,如果公用的selectedIcons也不传,则点击时不切换图标
draggable: true //(可选项)布尔类型;所添加的标注是否可被拖动,若不传则以公用的 draggable 为准
w: 30, //数字类型;图标标注宽度;默认值:icons或selectedIcons内第一张图片宽度的二分之一 (android不根据图片大小,传多少是多少)
h: 30, //数字类型;图标标注高度;默认值:icons或selectedIcons内第一张图片高度的二分之一 (android不根据图片大小,传多少是多少)
locked: false, //(可选项)布尔类型;是否固定在屏幕一点, 注意,拖动或者手动改变经纬度,都会导致设置失效。如果为true,设置lon和lat会失效,需要设置lockedX和lockedY;默认:false
lockedX: 100, //数字类型;固定屏幕点的X坐标,locked为true时设置;默认值:地图视图中间
lockedY: 100, //数字类型;固定屏幕点的Y坐标,locked为true时设置;默认值:地图视图中间
zIndex:1 //数字类型;设置Marker覆盖物 zIndex。
}]
icons:
- 类型:数组
- 描述:(可选项)指定的标注图标路径组成的数组,若包含多张图片,则此标注显示为多图联动的 gif ,要求本地路径(fs://、widget://)
- 默认值:红色大头针
- 注:android上如果填写此选项,并有多张图片时,请尽量保证图片的大小是一致的;
selectedIcons:
- 类型:数组
- 描述:(可选项) 指定的标注图标路径组成的数组,若包含多张图片,则此标注显示为多图联动的 gif ,要求本地路径(fs://、widget://),
draggable:
- 类型:布尔
- 描述:(可选项)所添加的标注是否可被拖动
- 默认值:false
timeInterval:
- 类型:数字
- 描述:(可选项)若添加的标注为动态图,则本参数表示动态图循环播放一次的时间,单位为秒(s),否则本参数无效
- 默认值:3.0
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
id: 10 //数字类型;相应事件的标注的
eventType: 'click', //字符串类型;交互事件类型
//取值范围:
//click(用户点击标注事件)注意:点击非选中状态的标注才有回调
//drag(用户拖动标注事件)
dragState: 'starting' //字符串类型;标注被拖动的状态,当 eventType 为 drag 时本字段有值,
//取值范围:
//starting(开始拖动)
//dragging (拖动中)
//ending (拖动结束)
//none (静止状态),Android平台不支持
//canceling (取消拖动),Android平台不支持
longitude:, //小数类型;经度 dragState 为ending时返回
latitude:, //小数类型;纬度 dragState 为ending时返回
}
示例代码
var aMap = api.require('aMap');
aMap.addAnnotations({
annotations: [{
id: 1,
lon: 116.297,
lat: 40.109
}, {
id: 2,
lon: 116.29,
lat: 40.109
}, {
id: 3,
lon: 116.298,
lat: 40.11
}],
icons: ['widget://'],
draggable: true,
timeInterval: 2.0
}, function(ret) {
if (ret.eventType == 'click') {
alert(ret.id);
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
cancelAnnotationSelected
取消标注选中状态
cancelAnnotationSelected({params})
params
id:
- 类型:数字
- 描述:指定的标注 id(仅iOS支持,android仅一个为选中状态 调用此接口取消当前选中标注选中状态)
示例代码
var aMap = api.require('aMap');
aMap.cancelAnnotationSelected({
id: 1
});
可用性
iOS系统,Android系统
可提供的1.2.7及更高版本
getAnnotationCoords
获取指定标注的经纬度
getAnnotationCoords({params}, callback(ret))
params
id:
- 类型:数字
- 描述:指定的标注 id
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
lon: 116.213, //数字类型;标注的经度
lat: 39.213 //数字类型;标注的纬度
}
示例代码
var aMap = api.require('aMap');
aMap.getAnnotationCoords({
id: 2
}, function(ret) {
if (ret) {
api.alert({ msg: JSON.stringify(ret) });
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setAnnotationCoords
设置某个已添加标注的经纬度
setAnnotationCoords(callback(ret, err))
params
id:
- 类型:数字
- 描述:指定的标注 id
lon:
- 类型:数字
- 描述:设置的经度
lat:
- 类型:数字
- 描述:设置的纬度
示例代码
var aMap = api.require('aMap');
aMap.setAnnotationCoords({
id: 2,
lon: 116.39,
lat: 40.209
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
annotationExist
判断标注是否存在
annotationExist({params}, callback(ret, err))
params
id:
- 类型:数字
- 描述:指定的标注 id
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;标注是否存在,true || false
}
示例代码
var aMap = api.require('aMap');
aMap.annotationExist({
id: 2
}, function(ret) {
if (ret.status) {
api.alert({ msg: '存在' });
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setBubble
设置点击标注时弹出的气泡信息
setBubble({params}, callback(ret, err))
params
id:
- 类型:数字
- 描述:要设置气泡的标注 id
bgImg:
- 类型:字符串
- 描述:(可选项)弹出气泡的背景图片,要求本地路径(fs://、widget://),中轴线下边缘点为气泡弹出点
- 默认值:默认气泡背景图片
content:
- 类型:JSON 对象
- 描述:弹出气泡的内容
- 内部字段:
{
title: '', //字符串类型;弹出气泡的标题
subTitle: '', //(可选项)字符串类型;弹出气泡的概述内容,若不传则 title 在上下位置居中显示
illus: '' //(可选项)字符串类型;弹出气泡的配图(30*40规格),支持http://、https://、widget://、fs://等协议,若不传则不显示插图,标题和子标题忽略插图显示
}
styles:
- 类型:JSON 对象
- 描述:弹出气泡的样式
- 内部字段:
{
titleColor: '#000', //(可选项)字符串类型;气泡标题的文字颜色,支持 rgb、rgba、#;默认:'#000'
titleSize: 16, //(可选项)数字类型;气泡标题的文字大小;默认:16
subTitleColor: '#000', //(可选项)字符串类型;气泡概述内容的文字颜色,支持 rgb、rgba、#;默认:'#000'
subTitleSize: 14, //(可选项)数字类型;气泡概述内容的文字大小;默认:14
illusAlign: 'left' //(可选项)字符串类型;气泡配图的显示位置;默认:'left'
//取值范围:
//left(图片居左)
//right(图片居右)
w: 160, //(可选项)数字类型;气泡的宽;默认:bgImg有值时,为160;bgImg为默认值时,为title的长度,并且不会超过地图视图的宽度-64,不会小于160
h: 90, //(可选项)数字类型;气泡的高;默认:90
}
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
id: 10, //数字类型;用户点击气泡返回的id
eventType: 'clickContent', //字符串类型;交互事件类型
//取值范围:
//clickContent(点击气泡文本内容)
//clickIllus(点击配图)
}
示例代码
var aMap = api.require('aMap');
aMap.setBubble({
id: 2,
bgImg: 'widget://res/bubble_bg.png',
content: {
title: '大标题',
subTitle: '概述内容',
illus: 'http://ico.ooopic.com/ajax/iconpng/?id=145044.png'
},
styles: {
titleColor: '#000',
titleSize: 16,
subTitleColor: '#999',
subTitleSize: 12,
illusAlign: 'left'
}
}, function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setWebBubble
设置点击标注时弹出的气泡信息
setWebBubble({params})
params
id:
- 类型:数字
- 描述:要设置气泡的标注 id
url:
- 类型:字符串
- 描述:(可选项)弹出气泡的网页地址,用户点击标注时,模块在标注上弹出窗口(类似open一个frame,模块会用webview去加载此url的网页显示出来),当data参数不为空时,url将做为baseUrl,data中的html引用的资源文件根路径以该url为基础。
data:
- 类型:字符串
- 描述:(可选项)页面加载的数据内容,可以为html片段或者整张html文件的数据,当data为空或者不传的时候, 会将url地址作为整个加载进去
size:
- 类型:JSON对象
- 描述:(可选项)气泡的大小配置
- 内部字段
{
width: 50, //(可选项)数字类型;气泡的宽;默认:50
height: 50 //(可选项)数字类型;气泡的高;默认:50
}
bg:
- 类型:字符串
- 描述:(可选项)弹出气泡的背景设置,支持rgb、rgba、#、img(要求本地路径,如:widget://、fs://)
- 默认:rgba(0,0,0,0)
示例代码
var map = api.require('aMap');
map.setWebBubble({
id:1,
size : {
width:100,
height:100
},
bg:'rgba(0,0,0,0.6)',
url:'http://img6.ph.126.net',
data:'漂亮MM <img src="hBiG96B8egigBULxUWcOpA==/109212290980771276.jpg">'
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addWebBubbleListener
添加网页气泡点击监听
addWebBubbleListener(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
id: 1 //数字类型;用户点击气泡返回的id
}
示例代码
var map = api.require('aMap');
map.addWebBubbleListener(function(ret){
api.alert({msg:JSON.stringify(ret)});
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
removeWebBubbleListener
移除网页气泡点击监听
removeWebBubbleListener(callback(ret))
示例代码
var map = api.require('aMap');
map.removeWebBubbleListener();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
popupBubble
弹出指定标注的气泡
popupBubble({params})
params
id:
- 类型:数字
- 描述:气泡的 id
示例代码
var aMap = api.require('aMap');
aMap.popupBubble({
id: 2
}, function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
closeBubble
关闭已弹出的气泡
closeBubble({params})
params
id:
- 类型:数字
- 描述:气泡的 id
示例代码
var aMap = api.require('aMap');
aMap.closeBubble({
id: 2
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addBillboard
在地图上添加布告牌,布告牌图标中轴线的下边缘点为坐标基准点
addBillboard({params})
params
id:
- 类型:数字
- 描述:布告牌的 id,注意:本 id 不可与 addAnnotations 接口内的 id 相同
coords:
- 类型:JSON 对象
- 描述:布告牌所在位置的坐标
- 内部字段:
{
lon: 116.233, //数字类型;布告牌所在位置的经度
lat: 39.134 //数字类型;布告牌所在位置的纬度
}
bgImg:
- 类型:字符串
- 描述:布告牌的背景图片,要求本地路径(fs://、widget://)
content:
- 类型:JSON 对象
- 描述:布告牌的内容
- 内部字段:
{
title: '', //(可选项)字符串类型;布告牌的标题
subTitle: '', //(可选项)字符串类型;布告牌的概述内容
illus: '' //(可选项)字符串类型;布告牌的配图,支持http://、https://、widget://、fs://等协议
}
draggable:
- 类型:布尔
- 描述:(可选项)所添加的布告牌是否可被拖动
- 默认值:false
styles:
- 类型:JSON 对象
- 描述:布告牌的样式
- 内部字段:
{
size: { //(可选项)JSON对象;布告牌大小配置,若不传则取默认值
width: 160, //(可选项)数组类型;布告牌的宽;默认:160
height: 75 //(可选项)数组类型;布告牌的高;默认:75
},
illusRect: { //(可选项)JSON对象;插图大小配置,与 illusAlign 同时存在时以本参数为准
x: , //(可选项)数字类型;插图左上角x坐标,相对布告牌坐标系;默认:10
y: , //(可选项)数字类型;插图左上角y坐标,相对布告牌坐标系;默认:5
w: , //(可选项)数字类型;插图的宽;默认:35
h: //(可选项)数字类型;插图的高;默认:50
},
marginT: 10, //(可选项)数字类型;标题距布告牌顶端的距离,默认:10
titleMarginLeft:10, //(可选项) 数字类型;标题的左边距;默认:10
titleMarginRight:10, //(可选项) 数字类型;标题的右边距;默认:10
marginB: 15, //(可选项)数字类型;子标题距布告牌低端的距离,默认:15
subTitleMarginLeft:10, //(可选项) 数字类型;子标题的左边距;默认:10
subTitleMarginRight:10, //(可选项) 数字类型;子标题的右边距;默认:10
alignment: 'left', //(可选项)字符串类型;标题和子标题的对齐方式:left(水平居左)、center(水平居中)、right(水平居右);默认:left
titleColor: '#000', //(可选项)字符串类型;布告牌标题的文字颜色,支持 rgb、rgba、#;默认:'#000'
titleSize: 14, //(可选项)数字类型;布告牌标题的文字大小;默认:16
subTitleColor: '#000', //(可选项)字符串类型;布告牌概述内容的文字颜色,支持 rgb、rgba、#;默认:'#000'
subTitleSize: 12, //(可选项)数字类型;布告牌概述内容的文字大小;默认:16
titleMaxLines:1, // (可选项) 数字类型;标题最大行数,超过一行自动换行,换行规则与原生一致;默认:1
subTitleMaxLines:1, // (可选项)数字类型 ;子标题最大行数,超过一行自动换行,换行规则与原生一致;默认:1
illusAlign: 'left', //(可选项)字符串类型;布告牌配图的显示位置,与 illusRect 同时存在时忽略本参数;默认:'left'
//取值范围:
//left(图片居左)
//right(图片居右)
}
selectedStyles:
- 类型:JSON 对象
- 描述:布告牌选中后的样式
- 内部字段:
{
bgImg:'', //(可选项)字符串类型;选中后的布告牌背景图片,要求本地路径(fs://、widget://);默认:同未选中时值相同
titleColor: '#000', //(可选项)字符串类型;选中后的布告牌标题的文字颜色,支持 rgb、rgba、#;默认:同未选中时值相同
subTitleColor: '#000', //(可选项)字符串类型;选中后的布告牌概述内容的文字颜色,支持 rgb、rgba、#;默认:同未选中时值相同
illus: '' //(可选项)字符串类型;选中后的布告牌的配图;默认:同未选中时值相同
}
useIllusPoint:
- 类型:布尔类型
- 描述:(可选项)是否以插图中轴线底部为基准点,此参数设置为true背景设置无效。此参数为true需要styles.size.height 等于styles.illusRect.h + styles.illusRect.y
- 默认值:false
zIndex:
- 类型:数字类型
- 描述:(可选项)添加布告牌的zIndex
- 默认值:0
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
id: 4, //数字类型;用户点击布告牌返回的id
eventType: 'click', //字符串类型;交互事件类型
//取值范围:
//click(用户点击布告牌事件)
//drag(用户拖动布告牌事件)
dragState: 'starting' //字符串类型;布告牌被拖动的状态,当 eventType 为 drag 时本字段有值,
//取值范围:
//starting(开始拖动)
//dragging (拖动中)
//ending (拖动结束)
}
示例代码
var aMap = api.require('aMap');
aMap.addBillboard({
id: 4,
draggable: true,
coords: {
lon: 116.233,
lat: 39.134
},
bgImg: 'widget://image/aMapTest.png',
content: {
title: '大标题大标题大标题大标题',
subTitle: '概述内容概述内容概述内容',
illus: 'http://ico.ooopic.com/ajax/iconpng/?id=145044.png'
},
styles: {
titleColor: '#000',
titleSize: 16,
subTitleColor: '#999',
subTitleSize: 12,
illusAlign: 'left'
}
}, function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addWebBoard
在地图上添加网页布告牌,布告牌图标中轴线的下边缘点为坐标基准点
addWebBoard({params})
params
id:
- 类型:数字
- 描述:布告牌的 id,注意:本 id 不可与 addAnnotations 接口内的 id 相同
coords:
- 类型:JSON 对象
- 描述:布告牌所在位置的坐标
- 内部字段:
{
lon: 116.233, //数字类型;布告牌所在位置的经度
lat: 39.134 //数字类型;布告牌所在位置的纬度
}
bg:
- 类型:字符串
- 描述:布告牌的背景图片,要求本地路径(fs://、widget://)(仅ios支持)
url:
- 类型:字符串
- 描述:(可选项)网页布告牌的网页地址,当data参数不为空时,url将做为baseUrl,data中的html引用的资源文件根路径以该url为基础。
data:
- 类型:字符串
- 描述:(可选项)页面加载的数据内容,可以为html片段或者整张html文件的数据,当data为空或者不传的时候, 会将url地址作为整个加载进去
size:
- 类型:JSON对象
- 描述:(可选项)气泡的大小配置
- 内部字段
{
w: 50, //(可选项)数字类型;气泡的宽;默认:50
h: 50 //(可选项)数字类型;气泡的高;默认:50
}
示例代码
var map = api.require('aMap');
map.addWebBoard({
id: 4,
draggable: true,
coords: {
lon:116.29432327,
lat:39.98963192
},
bg: 'widget://res/billboard.png',
url:'./aMap-con.html',
data:'',
size:{
w:100,
h:100
}
});
可用性
iOS系统
可提供的1.3.1及更高版本
addWebBoardListener
添加网页布告牌点击监听
addWebBoardListener(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
id: 1 //数字类型;用户点击布告牌返回的id
}
示例代码
var map = api.require('aMap');
map.addWebBoardListener(function(ret){
api.alert({msg:'网页布告牌'+JSON.stringify(ret)});
});
可用性
iOS系统
可提供的1.3.1及更高版本
removeWebBoardListener
移除网页布告牌点击监听
removeWebBoardListener(callback(ret))
示例代码
var map = api.require('aMap');
map.removeWebBoardListener();
可用性
iOS系统
可提供的1.3.1及更高版本
addMobileAnnotations
在地图上添加可移动、旋转的标注图标,图标的中心点为坐标基准点
addMobileAnnotations({params}, callback(ret, err))
params
annotations:
- 类型:数组
- 描述:图标标注信息组成的数组
- 内部字段:
[{
id: 10, //数字类型;图标标注的唯一标识,注意:本 id 不可与 addAnnotations、addBillboard 接口内的 id 相同
lon: 116.233, //数字类型;图标标注所在位置的经度
lat: 39.134, //数字类型;图标标注所在位置的纬度
icon: 'widget://', //字符串类型;指定的标注图标,要求本地路径(fs://、widget://),图标的锚点即是坐标点。
draggable: true, //布尔类型;所添加的可移动的标注是否可被拖动;默认:false
zIndex:1 //数字类型;所添加标注的zIndex
}]
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
id: 4, //数字类型;交互标注对象的 id
dragState: 'starting' //字符串类型;标注被拖动的状态
//取值范围:
//starting(开始拖动)
//dragging (拖动中)
//ending (拖动结束)
}
示例代码
var aMap = api.require('aMap');
aMap.addMobileAnnotations({
annotations: [{
id: 10,
lon: 116.297,
lat: 40.109,
icon: 'widget://image/aMap_car1.png',
draggable: true
}, {
id: 11,
lon: 116.98,
lat: 40.109,
icon: 'widget://image/aMap_car2.png',
draggable: true
}, {
id: 12,
lon: 115.30,
lat: 40.109,
icon: 'widget://image/aMap_car3.png',
draggable: true
}, {
id: 13,
lon: 116.297,
lat: 39.109,
icon: 'widget://image/aMap_car1.png',
draggable: true
}, {
id: 14,
lon: 116.98,
lat: 39.109,
icon: 'widget://image/aMap_car2.png',
draggable: true
}, {
id: 15,
lon: 115.30,
lat: 39.109,
icon: 'widget://image/aMap_car3.png',
draggable: true
}]
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
moveAnnotation
移动地图上已添加的可移动、旋转的标注图标,在移动动画开始前,会先做 0.3 秒的旋转动画,使所移动的图标中间轴线顶端对准终点坐标点。在 Android 平台上,如果标注添加到地图当前可视区域以外的区域,则不可以移动该标注
moveAnnotation({params}, callback(ret, err))
params
id:
- 类型:数字
- 描述:要移动的标注的 id
duration:
- 类型:数字
- 描述:(可选项)标注图标移动动画的时间,单位为秒(s),不包括旋转动画时间
- 默认值:1.0(s)
end:
- 类型:JSON 对象
- 描述:终点经纬度
- 内部字段:
{
lon: 116.581515, //数字类型;终点的经度
lat: 29.615467 //数字类型;终点的纬度
}
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
id: //数字类型;移动动画结束的标注的 id
}
示例代码
var aMap = api.require('aMap');
for (var i = 0; i < 6; i++) {
aMap.moveAnnotation({
id: 10 + i,
duration: 6,
end: {
lon: 116.3843839609304,
lat: 39.98964439091298
}
}, function(ret, err) {
alert(ret.id + '移动结束')
});
}
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
removeAnnotations
移除指定 id 的标注(可移动、不可移动)或布告牌
removeAnnotations({params})
params
ids:
- 类型:数组
- 描述:(可选项)要移除的标注或布告牌id(数字),若为空或不传,则移除所有标注
示例代码
var aMap = api.require('aMap');
aMap.removeAnnotations({
ids: [1,3,5,7]
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addMoveAnimation
给地图上的标注添加移动动画
注意:
第一个添加的动画以当前位置为起始点,沿传入的coordinates点移动,否则以上一个动画终点为起始点
params
id:
- 类型:数字
- 描述:要移动的标注的 id
duration:
- 类型:数字
- 描述:(可选项)移动动画的时间,单位为秒(s)
- 默认值:3.0(s)
coordinates:
- 类型:数组
- 描述:动画移动经过点坐标集合
- 内部字段:
{
lon: 116.581515, //数字类型;经度
lat: 29.615467 //数字类型;纬度
}
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
isFinished: true //布尔类型;是否结束
}
示例代码
var aMap = api.require('aMap');
aMap.addMoveAnimation({
id: 10,
duration: 6,
coordinates: [{
lon: 116.3843839609304,
lat: 39.98964439091298
}]
}, function(ret) {
alert(ret.id + '移动结束')
});
可用性
iOS系统,Android系统
可提供的1.1.8及更高版本
cancelMoveAnimation
取消地图上的标注移动动画
cancelMoveAnimation({params})
params
id:
- 类型:字符串
- 描述:要移除的标注或布告牌id(数字)
示例代码
var aMap = api.require('aMap');
aMap.cancelMoveAnimation({
id: 1
});
可用性
iOS系统,Android系统
可提供的1.1.8及更高版本
showAnnotations
显示指定 id 的标注(可移动、不可移动)或布告牌
showAnnotations({params})
params
animation:
- 类型:布尔
- 描述:(可选项)移动地图以显示标注时是否带动画效果
- 默认:true
ids:
- 类型:数组
- 描述:(可选项)要显示的标注或布告牌id(数字),若为空或不传,则显示所有标注
insets:
- 类型:JSON对象
- 描述:(可选项)标注显示的区域上下左右边距
- 内部字段:
{
top:, //数字类型;上边距;默认:50
left:, //数字类型;左边距;默认:20
bottom:, //数字类型;下边距;默认:50
right: //数字类型;右边距;默认:20
}
示例代码
var aMap = api.require('aMap');
aMap.showAnnotations({
ids: [1,3,5,7]
});
可用性
iOS系统,Android系统
可提供的1.2.9及更高版本
addHeatMap
在地图上添加热力点图层
addHeatMap({params})
params
id:
- 类型:数字
- 描述:热力点图层的id,不可与覆盖物类其它接口添加得图层 id 一样
data:
- 类型:字符串/数组类型
- 描述:为字符串类型时表示热力点信息文件路径,要求本地路径(widget://、fs://);若传数组类型则表示直接将热力点数据传给模块
- 内部字段:
[{
longitude:, //数字类型;经度
latitude:, //数字类型;纬度
intensity:'' //数字类型;强度
}]
styles:
- 类型:JSON 对象
- 描述:(可选项)直线的样式
- 内部字段:
{
radius: , //(可选项)数字类型;热力图半径,范围:0-100 screen point;默认:12
opacity: , //(可选项)数字类型;透明度,范围:0-1;默认:0.6
allowRetinaAdapting: ,//(可选项)布尔类型;是否开启高清热力图,默认:false;(android不支持)
gradient: { //(可选项)JSON对象;渐变色彩及其点配置,colors和points 一一对应
colors: [], //(可选项)数组类型;渐变色组;默认:['#ff0000','#0000FF','#008000']
points: [] //(可选项)数组类型;渐变点:默认:[0.3,0.6,0.9]
}
}
示例代码
var aMap = api.require('aMap');
aMap.addHeatMap({
id: 1,
styles: {
radius: ,
opacity:,
allowRetinaAdapting:,
gradient: {
colors:[“#ff0000”,””,“”],
points:[0.3,0.6,0.9]
}
},
data:‘widget://res/points.txt’
});
可用性
iOS系统,Android系统
可提供的1.1.8及更高版本
refreshHeatMap
刷新在地图上添加热力点图层
refreshHeatMap({params})
params
id:
- 类型:数字
- 描述:热力点图层的id
styles:
- 类型:JSON 对象
- 描述:(可选项)直线的样式
- 内部字段:
{
radius: , //(可选项)数字类型;热力图半径,范围:0-100 screen point;默认:12
opacity: , //(可选项)数字类型;透明度,范围:0-1;默认:0.6
allowRetinaAdapting: ,//(可选项)布尔类型;是否开启高清热力图,默认:No;(android不支持)
gradient: { //(可选项)JSON对象;渐变色彩及其点配置,colors和points 一一对应
colors: [], //(可选项)数组类型;渐变色组;默认:['#ff0000','#0000FF','#008000']
points: [] //(可选项)数组类型;渐变点:默认:[0.3,0.6,0.9]
}
}
示例代码
var aMap = api.require('aMap');
aMap.refreshHeatMap({
id: 1,
styles: {
radius: ,
opacity:,
allowRetinaAdapting:,
gradient: {
colors:[],
points:[]
}
}
});
可用性
iOS系统,Android系统
可提供的1.1.8及更高版本
addMultiPoint
在地图上添加点聚合图层
addMultiPoint({params},callback(ret))
params
id:
- 类型:数字
- 描述:点聚合图层的id,不可与覆盖物类其它接口添加得图层 id 一样
path:
- 类型:字符串
- 描述:聚合点信息文件路径,要求本地路径(widget://、fs://)
- 内部字段:iOS上需要按照标准的json格式,否则解析不了
[{
"longitude":, //数字类型;经度
"latitude":, //数字类型;纬度
"title":"apicloud", //字符串类型;标题
"subtitle":"apicloud", //字符串类型;子标题
"customID":"1" //字符串类型;自定义id
}]
styles:
- 类型:JSON 对象
- 描述:(可选项)直线的样式
- 内部字段:
{
icon: '', //(可选项)字符串类型;聚点图标路径,要求本地路径(fs://、widget://)
pointSize: { //(可选项)JSON对象;聚点图标的大小,不传则默认图片大小(android不支持)
w: , //(可选项)数字类型;宽度;默认:10
h: //(可选项)数字类型;高度:默认:10
},
anchor: { //(可选项)JSON对象;聚点图标的锚点位置,左上角为 (0,0) 右下角为 (1,1)
x: , //(可选项)数字类型;x坐标,范围[0-1];默认:0.5
y: //(可选项)数字类型;y坐标,范围[0-1];默认:0.5
}
}
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
eventType: 'click' ,//字符串类型;交互事件类型
point: {
longitude:, //数字类型;经度
latitude:, //数字类型;纬度
title:'', //字符串类型;标题
subtitle:'', //字符串类型;子标题
customID:'' //字符串类型;自定义id
}
}
示例代码
var aMap = api.require('aMap');
aMap.addMultiPoint({
id: 1,
styles: {
icon: 'arrow',
pointSize: {
w:,
h:
},
anchor: {
x:,
y:
},
},
path:‘widget://res/points.txt’
},function(ret){
api.alert({msg:JSON.stringify(ret)});
});
可用性
iOS系统,Android系统
可提供的1.1.8及更高版本
addLine
在地图上添加线
addLine({params})
params
id:
- 类型:数字
- 描述:线的 id,不可与覆盖物类其它接口添加得图层 id 一样
styles:
- 类型:JSON 对象
- 描述:(可选项)直线的样式
- 内部字段:
{
type: 'arrow', //(可选项)字符串类型;线的末端类型;默认:round;取值范围如下:
//round:圆头线,在Android 上无效,显示为普通方头线条
//square:方头线
//arrow:带箭头的线
lineDash: false, //(可选项)布尔类型;是否绘制成虚线,当 type 为 arrow 时,本参数无效;默认:false
borderColor: '#000', //(可选项)字符串类型;线的颜色,支持 rgb、rgba、#;默认值:'#000'
borderWidth: 3, //(可选项)数字类型;线的宽度,默认:2
strokeImg:'fs://arrow.png'//(可选项)字符串类型;组成纹理画线的图片路径,要求本地路径(fs://、widget://),图片需满足: 长宽相等,且宽度值为2的整数次幂,若本参数不为空,则本接口忽略 type、lineDash、borderColor 参数
}
points:
- 类型:数组
- 描述:线的两个点组成的数组
- 内部字段:
[{
lon: 116.297, //数字类型;经度
lat: 40.109 //数字类型;纬度
}]
示例代码
var aMap = api.require('aMap');
aMap.addLine({
id: 1,
styles: {
type: 'arrow',
borderColor: '#FF0000',
borderWidth: 3,
lineDash: true,
strokeImg: ''
},
points: [{
lon: 116.297, lat: 40.109
},
{
lon: 116.298, lat: 40.109
}]
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addCircle
在地图上添加圆形
addCircle({params})
params
id:
- 类型:数字
- 描述:圆形的 id,不可与覆盖物类其它接口添加得图层 id 一样
center:
- 类型:JSON 对象
- 描述:圆形中心点的经纬度
- 内部字段:
{
lon: 116.297, //数字类型;圆形中心点的经度
lat: 40.109 //数字类型;圆形中心点的纬度
}
radius:
- 类型:数字
- 描述:圆形的半径
styles:
- 类型:JSON 对象
- 描述:(可选项)圆形的样式
- 内部字段:
{
borderColor: '#000', //(可选项)字符串类型;圆形的边框颜色,支持 rgb、rgba、#;默认:'#000'
borderWidth: 3 , //(可选项)数字类型;圆形的边框宽度,默认:2
lineDash: false, //(可选项)布尔类型;是否绘制成虚线,Android 平台不支持;默认:false
fillColor: '#ff0' //(可选项)字符串类型;圆形填充颜色,支持 rgb、rgba、#;默认:'rgba(1,0.8,0,0.8)'
}
示例代码
var aMap = api.require('aMap');
aMap.addCircle({
id: 2,
center: {
lon: 116.298,
lat: 40.11,
},
radius: 500,
styles: {
borderColor: '#FF0000',
borderWidth: 3,
lineDash: true,
fillColor: 'rgba(1,0.8,0,0.8)'
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addPolygon
在地图上添加多边形
addPolygon({params})
params
id:
- 类型:数字
- 描述:多边形的 id,不可与覆盖物类其它接口添加得图层 id 一样
styles:
- 类型:JSON 对象
- 描述:(可选项)多边形的样式
- 内部字段:
{
borderColor: '#000', //(可选项)字符串类型;多边形的边框颜色,支持 rgb、rgba、#;默认:'#000'
borderWidth: 3, //(可选项)数字类型;多边形的边框宽度,默认:2
lineDash: false, //(可选项)布尔类型;是否绘制成虚线,Android 平台不支持本参数;默认:false
fillColor: '#ff0' //(可选项)字符串类型;圆形填充颜色,支持 rgb、rgba、#;默认:'rgba(1,0.8,0,0.8)'
}
points:
- 类型:数组
- 描述:多边形的各个点组成的数组
- 内部字段:
[{
lon: 116.297, //数字类型;经度
lat: 40.109 //数字类型;纬度
}]
示例代码
var aMap = api.require('aMap');
aMap.addPolygon({
id: 4,
styles: {
borderColor: '#FF0000',
borderWidth: 3,
lineDash:false,
fillColor:'#ff0'
},
points: [{
lon: 116.297, lat: 40.109
},
{
lon: 116.298, lat: 40.109
},
{
lon: 116.298, lat: 40.11
}]
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addImg
在地图上添加图片
addImg({params})
params
id:
- 类型:数字
- 描述:图片 id,不可与覆盖物类其它接口添加得图层 id 一样
imgPath:
- 类型:字符串
- 描述:图片的路径,要求本地路径(fs://、widget://)
lbLon:
- 类型:数字
- 描述:左下角点的经度
lbLat:
- 类型:数字
- 描述:左下角点的纬度
rtLon:
- 类型:数字
- 描述:右上角点的经度
rtLat:
- 类型:数字
- 描述:右上角点的纬度
示例代码
var aMap = api.require('aMap');
aMap.addImg({
id: 5,
imgPath: 'widget://res/over_img.png',
lbLon: 116.297,
lbLat: 40.109,
rtLon: 116.298,
rtLat: 40.11
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addLocus
在地图上添加轨迹线
addLocus({params})
params
id:
- 类型:数字
- 描述:线的 id,不可与覆盖物类其它接口添加得图层 id 一样
borderWidth:
- 类型:数字
- 描述:(可选项)轨迹线的粗细
- 默认:5
autoresizing:
- 类型:布尔
- 描述:路线渲染结束是否自动调整地图可视区域,为 true 时自带 0.3 秒地图移动动画效果
- 默认值:true
locusData:
- 类型:字符串
- 描述:组成轨迹线的点信息组文件路径(本地路径),该文件为
.json
文件 .json
文件内部字段:
[{
longtitude: "116.297", //字符串类型;经度
latitude: "40.109" //字符串类型;纬度
rgba: 'rgba(123,234,12,1)' //字符串类型;颜色值
}]
示例代码
var aMap = api.require('aMap');
aMap.addLocus({
id: 1,
borderWidth: 5,
autoresizing: true,
locusData:'widget://res/runningRecord.json'
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
removeOverlay
移除指定 id 的覆盖物
removeOverlay({params})
params
ids:
- 类型:数组
- 描述:要移除的 id(数字)组成的数组
示例代码
var aMap = api.require('aMap');
aMap.removeOverlay({
ids: [1, 2, 3, 4, 5]
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
searchRoute
搜索路线方案,无需调用 open 接口即可使用
searchRoute({params}, callback(ret, err))
params
type:
- 类型:字符串
- 描述:(可选项)路线类型
- 默认值:transit
- 取值范围:
- drive(开车)
- transit(公交)
- walk(步行)
- ride(骑行)
strategy:
- 类型:字符串
- 描述:(可选项)路线策略,type 为 walk(步行)或ride(骑行)时,此参数可不传
- 默认值:'drive_time_first/transit_time_first'
- 取值范围:
- drive_time_first:速度优先(时间)
- drive_fee_first:费用优先(不走收费路段的最快道路)
- drive_dis_first:距离优先
- drive_highway_no:不走高速
- drive_jam_no:结合实时交通(躲避拥堵)
- drive_highway_fee_no:不走高速且避免收费
- drive_highway_jam_no:不走高速且躲避拥堵
- drive_fee_jam_no:躲避收费和拥堵
- drive_highway_fee_jam_no:不走高速且躲避收费和拥堵
- transit_time_first:最快捷模式
- transit_fee_first:最经济模式
- transit_transfer_first:最少换乘模式
- transit_walk_first:最少步行模式
- transit_comfort_first:最舒适模式
- transit_subway_no:不乘地铁模式
start:
- 类型:JSON 对象
- 描述:起点信息
- 内部字段:
{
lon: 116.403838, //数字类型;起点经度
lat: 39.914437 //数字类型;起点纬度
}
waypoints:
- 类型:JSON 对象
- 描述:(可选项)途经点信息组成的数组,仅当 type 为 drive 时有效
- 内部字段:
[{
lon: 116.403838, //数字类型;起点经度
lat: 39.914437 //数字类型;起点纬度
}]
nightflag:
- 类型:布尔
- 描述:(可选项)是否包含夜班车,仅当 type 为 transit 时有效
- 默认:false
city:
- 类型:字符串
- 描述:(可选项)搜索公交路线时所在的城市,仅当 type 为 transit 时有效且必传
end:
- 类型:JSON 对象
- 描述:终点信息
- 内部字段:
{
lon: 116.384852, //数字类型;终点经度
lat: 39.989576 //数字类型;终点纬度
}
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
start:{ //JSON对象;起点信息
lon: 116.384852, //数字类型;起点经度
lat: 39.989576 //数字类型;起点纬度
},
end:{ //JSON对象;终点信息
lon: 116.384852, //数字类型;终点经度
lat: 39.989576 //数字类型;终点纬度
},
taxiCost: 50, //数字类型;出租车费用(单位:元)
paths: [{ //数组类型;步行、骑行、驾车方案列表数组
steps:[{ //数组类型;路段基本信息组成的数组
instruction:'左转', //字符串类型;行走指示
orientation:'北', //字符串类型;方向
road:'光明路', //字符串类型;道路名称
distance:'2000', //数字类型;此路段长度(单位:米)
duration:'1000', //数字类型;此路段预计耗时(单位:秒)
action:'go', //字符串类型;导航主要动作
assistantAction:'go',//字符串类型;导航辅助动作
tolls:'5', //数字类型;此段收费(单位:元)
tollDistance:'500', //数字类型;收费路段长度(单位:米)
tollRoad:'' //字符串类型;主要收费路段
enterLoc:{ //JSON对象;入口经纬度,Android 平台上无此字段
lon:, //数字类型;入口经度
lat: //数字类型;入口纬度
},
exitLoc:{ //JSON对象;出口经纬度,入口经纬度,Android 平台上无此字段
lon:, //数字类型;出口经度
lat: //数字类型;出口纬度
}
}],
distance: 1000, //数字类型;路线长度,单位:米
duration: 10, //数字类型;路线耗时,单位:秒
strategy: 1000, //字符串类型;导航策略
tolls: 1000, //数字类型;此方案费用(单位:元)
tollDistance: 1000 //数字类型;此方案收费路段长度(单位:米)
}],
transits:[{ //数组类型;公交换乘方案列表数组
cost: 50, //数字类型;此公交方案价格(单位:元)
duration: 36000, //数字类型;此换乘方案预期时间(单位:秒)
nightflag: false , //布尔类型;是否是夜班车
walkingDistance: 100, //数字类型;此方案总步行距离(单位:米)
busDistance: 100, //数字类型;此方案公交路线距离(单位:米),iOS 平台上无此参数
segments:[{ //数组类型;换乘路段组成的数组
enterName:'', //字符串类型;公交换乘路段入口名称
exitName:'', //字符串类型;公交换乘路段出口名称
busline:{ //JSON对象;路段可供选择的公交线路
type:'', //字符串类型;公交类型
name:'', //字符串类型;公交线路名称
uid:'' //字符串类型;公交线路ID
},
enterLoc:{ //JSON对象;入口经纬度
lon:, //数字类型;入口经度
lat: //数字类型;入口纬度
},
exitLoc:{ //JSON对象;出口经纬度
lon:, //数字类型;出口经度
lat: //数字类型;出口纬度
},
walking:{ //JSON对象;此路段步行导航信息
distance:, //数字类型;起点和终点的步行距离(单位:米)
duration: //数字类型;步行预计时间
}
}]
}]
}
示例代码
var aMap = api.require('aMap');
aMap.searchRoute({
id: 1,
type: 'drive',
policy: 'drive_time_first',
start: {
lon: 116.403838,
lat: 39.914437
},
end: {
lon: 116.384852,
lat: 39.989576
},
city: '北京',
nightflag: false,
waypoints: []
}, function(ret, err) {
if (ret.status) {
api.alert({ msg: JSON.stringify(ret) });
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
drawRoute
在地图上绘制显示 searchRoute 搜索到的指定路线,调用本接口前,必须保证已经调用过 open 和 searchRoute 接口
drawRoute({params})
params
id:
- 类型:数字
- 描述:绘制路线分配的 id ,removeRoute 时使用此 id 移除路线
autoresizing:
- 类型:布尔
- 描述:路线渲染结束是否自动调整地图可视区域,为 true 时自带 0.3 秒地图移动动画效果
- 默认值:true
index:
- 类型:数字类型
- 描述:路线方案的索引,在 searchRoute 时返回的多个路线方案组成的数组中的索引
- 默认值:0
styles:
- 类型:JSON 对象
- 描述:路线样式设置
- 内部字段:
{
walkLine:{ //(可选项)JSON对象;步行路线样式
width: 3, //(可选项)数字类型;步行路线的线条宽度;默认:3
color:'#698B22', //(可选项)字符串类型;步行路线的线条颜色,支持 rgb、rgba、#;默认:#698B22
lineDash:false, //(可选项)布尔类型;步行路线的线条是否为虚线;默认:false
strokeImg:'fs://arrow.png'//(可选项)字符串类型;组成纹理画线的图片路径,要求本地路径(fs://、widget://),若本参数不为空,则忽略 color、dashed 参数 。
},
rideLine:{ //(可选项)JSON对象;骑行路线样式
width: 3, //(可选项)数字类型;骑行路线的线条宽度;默认:3
color:'#698B22', //(可选项)字符串类型;骑行路线的线条颜色,支持 rgb、rgba、#;默认:#698B22
lineDash:false, //(可选项)布尔类型;骑行路线的线条是否为虚线;默认:false
strokeImg:'fs://arrow.png'//(可选项)字符串类型;组成纹理画线的图片路径,要求本地路径(fs://、widget://),若本参数不为空,则忽略 color、dashed 参数 。
},
driveLine:{ //(可选项)JSON对象;驾车路线样式
width: 6, //(可选项)数字类型;驾车路线的线条宽度;默认:5
color:'#0000EE', //(可选项)字符串类型;驾车路线的线条颜色,支持 rgb、rgba、#;默认:#00868B
lineDash:false, //(可选项)布尔类型;驾车路线的线条是否为虚线;默认:false
strokeImg:'fs://arrow.png'//(可选项)字符串类型;组成纹理画线的图片路径,要求本地路径(fs://、widget://),若本参数不为空,则忽略 color、dashed 参数。
},
busLine:{ //(可选项)JSON对象;公交路线样式
width: 4, //(可选项)数字类型;公交路线的线条宽度;默认:4
color:'#00BFFF', //(可选项)字符串类型;公交路线的线条颜色,支持 rgb、rgba、#;默认:#00BFFF
lineDash:false, //(可选项)布尔类型;公交路线的线条是否为虚线;默认:false
strokeImg:'fs://arrow.png'//(可选项)字符串类型;组成纹理画线的图片路径,要求本地路径(fs://、widget://),若本参数不为空,则忽略 color、dashed 参数。
},
icons: { //(可选项)JSON对象;路线结点标注图标
start: '', //(可选项)字符串类型;起点图标路径,要求本地路径(fs://、widget://);默认:默认起点图标
end: '', //(可选项)字符串类型;终点图标路径,要求本地路径(fs://、widget://);默认:默认终点图标
bus: '', //(可选项)字符串类型;公交路线结点提示图标路径,要求本地路径(widget://、fs://)默认:默认公交图标
car: '', //(可选项)字符串类型;驾车路线结点提示图标路径,要求本地路径(widget://、fs://)默认:默认驾车图标
man: '', //(可选项)字符串类型;步行路线结点提示图标路径,要求本地路径(widget://、fs://)默认:默认步行图标
ride: '' //(可选项)字符串类型;骑行路线结点提示图标路径,要求本地路径(widget://、fs://)默认:默认步行图标
}
}
示例代码
var aMap = api.require('aMap');
aMap.searchRoute({
type: 'drive',
policy: 'drive_fee_first',
start: {
lon: 116.403838,
lat: 39.914437
},
end: {
lon: 116.384852,
lat: 39.989576
}
}, function(ret, err) {
if (ret.status) {
aMap.drawRoute({
id: 1,
autoresizing: false,
index: 0,
styles: {
walkLine: {
width: 3,
color: '#698B22',
lineDash: false,
strokeImg: ''
},
driveLine: {
width: 6,
color: '#0000EE',
lineDash: false,
strokeImg: ''
},
busLine: {
width: 4,
color: '#00BFFF',
lineDash: false,
strokeImg: ''
},
icons: {
start: '',
end: '',
bus: '',
car: '',
man: ''
}
}
});
} else {
api.alert({ msg: JSON.stringify(ret) });
}
});
可用性
iOS 系统,Android系统
可提供的1.0.0及更高版本
removeRoute
移除指定 id 的路线
removeRoute({params})
params
ids:
- 类型:数组
- 描述:所要移除的 id(数字)组成的数组
示例代码
var aMap = api.require('aMap');
aMap.removeRoute({
ids: [1, 2, 3]
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
searchBusRoute
根据关键字搜索公交、地铁线路,无需调用 open 接口即可搜索
searchBusRoute({params}, callback(ret, err))
params
city:
- 类型:字符串
- 描述:城市
line:
- 类型:字符串
- 描述:公交、地铁线路号(例如:1路,1号线)
offset:
- 类型:数字
- 描述:(可选项)每页记录数,取值为1-50
- 默认:20
page:
- 类型:数字
- 描述:(可选项)当前页数,取值为1-100
- 默认:1
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
buslines: [{ //数组类型;公交线路信息组成的数组
uid: '', //字符串类型;公交线路ID
type: '', //字符串类型;公交类型
name: '', //字符串类型;公交线路名称
startStop: '', //字符串类型;首发站
endStop: '', //字符串类型;终点站
startTime: '', //字符串类型;首班车时间
endTime: '', //字符串类型;末班车时间
company: '', //字符串类型;所属公交公司
distance: '', //数字类型;此线路的全程距离,单位为千米
basicPrice: '', //数字类型;起步价
totalPrice: '', //数字类型;全程票价
busStops: [{ //数组类型;途径公交站
uid:'', //字符串类型;公交站点ID
name:'', //字符串类型;公交站名
lat: , //数字类型;公交站坐标纬度
lon: //数字类型;公交站坐标经度
}]
}] ,
suggestion:{ //JSON对象;关键字建议列表和城市建议列表
keywords:['','','',''],//数组类型;字符串类型的关键字组成的建议列表
cities:['','','',''] //数组类型;字符串类型的城市名组成的城市建议列表
}
}
示例代码
var aMap = api.require('aMap');
aMap.searchBusRoute({
city: '北京',
line: '110',
offset: 20,
page: 1
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
drawBusRoute
根据 searchBusRoute 搜索返回的公交信息,将指定线路绘制在地图上
drawBusRoute({params})
params
id:
- 类型:数字
- 描述:地图上显示的公交、地铁路线的 id,removeBusRoute 时使用此 id
autoresizing:
- 类型:布尔
- 描述:路线渲染结束是否自动调整地图可视区域
- 默认值:true
index:
- 类型:数字类型
- 描述:路线方案的索引,在 searchBusRoute 时返回的多个公交路线组成的数组中的索引
- 默认值:0
styles:
- 类型:JSON 对象
- 描述:路线样式设置
- 内部字段:
{
line:{ //(可选项)JSON对象;公交路线样式
width: 4, //(可选项)数字类型;公交路线的线条宽度;默认:4
color:'#00BFFF', //(可选项)字符串类型;公交路线的线条颜色,支持 rgb、rgba、#;默认:#00BFFF
lineDash:false, //(可选项)布尔类型;公交路线的线条是否为虚线;默认:false
strokeImg:'fs://arrow.png'//(可选项)字符串类型;组成纹理画线的图片路径,要求本地路径(fs://、widget://),若本参数不为空,则忽略 color、dashed 参数
},
icons: { //(可选项)JSON对象;路线结点标注图标
start: '', //(可选项)字符串类型;起点图标路径,要求本地路径(fs://、widget://);默认:默认起点图标
end: '', //(可选项)字符串类型;终点图标路径,要求本地路径(fs://、widget://);默认:默认终点图标
bus: '' //(可选项)字符串类型;公交路线结点提示图标路径,要求本地路径(widget://、fs://)默认:默认公交图标
}
}
示例代码
var aMap = api.require('aMap');
aMap.searchBusRoute({
city: '北京',
line: '110',
offset: 20,
page: 1
}, function(ret, err) {
if (ret.status) {
aMap.drawBusRoute({
id: 1,
autoresizing: true,
index: 0,
styles: {
line: {
width: 4,
color: '#00BFFF',
lineDash: false,
strokeImg: 'fs://arrow.png'
},
icons: {
start: '',
end: '',
bus: ''
}
}
});
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
removeBusRoute
移除地图上显示的公交、地铁线路
removeBusRoute({params})
params
ids:
- 类型:数组
- 描述:所要移除的公交、地铁线路的 id(数字)组成的数组
示例代码
var aMap = api.require('aMap');
aMap.removeBusRoute({
ids:[1, 2, 3]
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
searchInCity
根据单个关键字搜索兴趣点,无需调用 open 接口即可搜索
searchInCity({params}, callback(ret, err))
params
city:
- 类型:字符串
- 描述:要搜索的城市,可选值:cityname(中文或中文全拼)、citycode、adcode
keyword:
- 类型:字符串
- 描述:搜索的关键字,多个关键字用“|”分割
offset:
- 类型:数字
- 描述:(可选项)每页记录数,取值为1-50
- 默认:20
page:
- 类型:数字
- 描述:(可选项)当前页数,取值为1-100
- 默认:1
sortrule:
- 类型:数字
- 描述:(可选项)排序规则,0-距离排序;1-综合排序,Android 平台上忽略本参数
- 默认:0
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
pois:[{ //数组类型;搜索的兴趣点信息组成的数组
uid: '', //字符串类型;兴趣点全局唯一ID
name: '', //字符串类型;兴趣点名称
type: '', //字符串类型;兴趣点类型
lat: , //数字类型;兴趣点纬度
lon: , //数字类型;兴趣点经度
address: '', //字符串类型;兴趣点地址
province: '', //字符串类型;省
city: '', //字符串类型;城市名称
district: '', //字符串类型;区域名称
tel: '', //字符串类型;兴趣点电话
distance: //数字类型;兴趣点距离中心点距离
}],
suggestion:{ //JSON对象;关键字建议列表和城市建议列表
keywords:['','','',''],//数组类型;字符串类型的关键字组成的建议列表
cities:['','','',''] //数组类型;字符串类型的城市名组成的城市建议列表
}
}
示例代码
var aMap = api.require('aMap');
aMap.searchInCity({
city: '北京',
keyword: '学校',
offset: 20,
page: 1,
sortrule: 0
}, function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
补充说明
searchInCity、searchNearby、searchInPolygon 三者不可并发执行,在接口未响应前 ,最后一次调用的接口会覆盖之前调用的所有接口
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
searchNearby
根据单个关键字在圆形区域内搜索兴趣点,无需调用 open 接口即可搜索
searchNearby({params}, callback(ret, err))
params
keyword:
- 类型:字符串
- 描述:搜索关键字,多个关键字用“|”分割
lon:
- 类型:数字
- 描述:指定区域中心点的经度
lat:
- 类型:数字
- 描述:指定区域中心点的纬度
radius:
- 类型:数字
- 描述:(可选项)指定区域的半径,单位为 m(米),范围:0-50000
- 默认:3000
offset:
- 类型:数字
- 描述:(可选项)每页记录数,取值为1-50
- 默认:20
page:
- 类型:数字
- 描述:(可选项)当前页数,取值为1-100
- 默认:1
sortrule:
- 类型:数字
- 描述:(可选项)排序规则,0-距离排序;1-综合排序,Android 平台上忽略本参数
- 默认:0
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
pois:[{ //数组类型;搜索的兴趣点信息组成的数组
uid: '', //字符串类型;兴趣点全局唯一ID
name: '', //字符串类型;兴趣点名称
type: '', //字符串类型;兴趣点类型
lat: , //数字类型;兴趣点纬度
lon: , //数字类型;兴趣点经度
address: '', //字符串类型;兴趣点地址
province: '', //字符串类型;省
city: '', //字符串类型;城市名称
district: '', //字符串类型;区域名称
tel: '', //字符串类型;兴趣点电话
distance: //数字类型;兴趣点距离中心点距离
}],
suggestion:{ //JSON对象;关键字建议列表和城市建议列表
keywords:['','','',''],//数组类型;字符串类型的关键字组成的建议列表
cities:['','','',''] //数组类型;字符串类型的城市名组成的城市建议列表
}
}
示例代码
var aMap = api.require('aMap');
aMap.searchNearby({
keyword: 'KTV',
lon: 116.384767,
lat: 39.989539,
radius: 2000,
offset: 20,
page: 1,
sortrule: 0
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
补充说明
searchInCity、searchNearby、searchInPolygon 三者不可并发执行,在接口未响应前 ,最后一次调用的接口会覆盖之前调用的所有接口
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
searchInPolygon
根据单个关键字在指定的多边形区域内搜索兴趣点,无需调用 open 接口即可搜索
searchInPolygon({params}, callback(ret, err))
params
keyword:
- 类型:字符串
- 描述:搜索关键字
points:
- 类型:数组
- 描述:能确定一个多边形的坐标点集合
- 内部字段:
[{
lat: , //数字类型;坐标点的纬度
lon: //数字类型;坐标点的经度
}]
offset:
- 类型:数字
- 描述:(可选项)每页记录数,取值为1-50
- 默认:20
page:
- 类型:数字
- 描述:(可选项)当前页数,取值为1-100
- 默认:1
sortrule:
- 类型:数字
- 描述:(可选项)排序规则,0-距离排序;1-综合排序,Android 平台上忽略本参数
- 默认:0
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
pois:[{ //数组类型;搜索的兴趣点信息组成的数组
uid: '', //字符串类型;兴趣点全局唯一ID
name: '', //字符串类型;兴趣点名称
type: '', //字符串类型;兴趣点类型
lat: , //数字类型;兴趣点纬度
lon: , //数字类型;兴趣点经度
address: '', //字符串类型;兴趣点地址
province: '', //字符串类型;省
city: '', //字符串类型;城市名称
district: '', //字符串类型;区域名称
tel: '', //字符串类型;兴趣点电话
distance: //数字类型;兴趣点距离中心点距离
}],
suggestion:{ //JSON对象;关键字建议列表和城市建议列表
keywords:['','','',''],//数组类型;字符串类型的关键字组成的建议列表
cities:['','','',''] //数组类型;字符串类型的城市名组成的城市建议列表
}
}
示例代码
var aMap = api.require('aMap');
aMap.searchInPolygon({
keyword: '图书馆',
points: [{
lat: 34.55648,
lon: 112.47723
}, {
lat: 34.13144,
lon: 112.87723
}, {
lat: 34.13144,
lon: 112.47723
}],
offset: 20,
page: 1,
sortrule: 0
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
补充说明
searchInCity、searchNearby、searchInPolygon 三者不可并发执行,在接口未响应前 ,最后一次调用的接口会覆盖之前调用的所有接口
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
autocomplete
根据关键字返回建议搜索关键字,无需调用 open 接口即可搜索
autocomplete({params}, callback(ret, err))
params
keyword:
- 类型:字符串
- 描述:关键字
city:
- 类型:字符串
- 描述:要搜索的城市,查询城市,中文或中文全拼
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
tips: [{ //数组类型;返回建议搜索关键字组成的数组
uid: '', //字符串类型;提示点的id,Android 平台上忽略本参数
name: '', //字符串类型;提示点的名字
adcode: '', //字符串类型;提示点所在区域编码
district: '', //字符串类型;提示的所属区域
lat: , //数字类型;提示点纬度
lon: //数字类型;提示点经度
}]
}
示例代码
var aMap = api.require('aMap');
aMap.autocomplete({
keyword: '北京',
city: '北京'
}, function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
districtSearch
根据关键字返回行政区划数据,无需调用 open 接口即可搜索,如果调用open打开了一个地图,则同时在地图上绘制并跳转到行政区划边界区域,是否绘制由showInMap控制
districtSearch({params}, callback(ret, err))
params
keyword:
- 类型:字符串
- 描述:关键字,该字段只支持精确名称,不可以是拼音,简写,代号等,如:北京可以用,但beijing,首都 等字样是无效的;
showInMap:
- 类型:JSON对象
- 描述:(可选项)搜索的区域是否同时显示在当前地图上,若不传,则不显示
- 内部字段:
{
type: 'arrow', //(可选项)字符串类型;线的末端类型;默认:round;取值范围如下:
//round:圆头线,在Android 上无效,显示为普通方头线条
//square:方头线
//arrow:带箭头的线
lineDash: false, //(可选项)布尔类型;是否绘制成虚线,当 type 为 arrow 时,本参数无效;默认:false
borderColor: '#000', //(可选项)字符串类型;线的颜色,支持 rgb、rgba、#;默认值:'#000'
borderWidth: 3, //(可选项)数字类型;线的宽度,默认:2
strokeImg:'fs://arrow.png'//(可选项)字符串类型;组成纹理画线的图片路径,要求本地路径(fs://、widget://),若本参数不为空,则本接口忽略 type、lineDash、borderColor 参数
}
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
districtResult: { //JSON对象;搜索结果
count: 10, //数字类型;子区域数
districts: [{ //JSON对象;行政区信息
adcode: '', //字符串类型;区域编码
citycode: '', //字符串类型;城市编码
name: '', //字符串类型;行政区名称
level: '' //字符串类型;级别
center: { //JSON对象;城市中心点经纬度
latitude: , //数字类型;维度
longitude: //数字类型;经度
},
polylines:['','','']//字符串类型;内部元素是边界线段上的点的经纬度拼接成的字符串,如:'119.309678,39.397575;119.309339,39.397613;'
districts:{ //JSON对象;子区域信息,内部数据接口同父级一致
...
}]
}
}
}
示例代码
var aMap = api.require('aMap');
aMap.districtSearch({
keyword: '北京',
showInMap:{}//传空取默认值,不传则不显示边界线
}, function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.7及更高版本
weatherSearch
查询天气,无需调用 open 接口即可搜索
weatherSearch({params}, callback(ret, err))
params
cityName:
- 类型:字符串
- 描述:城市:如'北京',iOS端支持cityname和adcode,如:'110000'
type:
- 类型:字符串
- 描述:(可选项)查询类型
- 默认:live
- 取值范围:
- live:实时天气
- forecast:预报天气
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;是否查询成功
type: '', //字符串类型;查询类型,live|forecast
weather: { //JSON对象类型;天气信息
forecasts: [{ //数组类型;预报信息
adcode: '', //字符串类型;区域编码
province: '', //字符串类型;省份名
city: '', //字符串类型;城市名
reportTime'', //字符串类型;数据发布时间
casts:[{ //数组类型;
date: '', //字符串类型;日期
week: '', //字符串类型;星期
dayWeather: '', //字符串类型;白天天气
nightWeather'', //字符串类型;晚上天气
dayTemp: '', //字符串类型;白天气温
nightTemp: '', //字符串类型;晚上气温
dayWind: '', //字符串类型;白天风向
nightWind'', //字符串类型;晚上风向
dayPower: '', //字符串类型;白天风力
nightPower'', //字符串类型;晚上风力
}]
}]
lives: [{ //数组类型;实时天气信息
adcode: '', //字符串类型;区域编码
province: '', //字符串类型;省份名
city: '', //字符串类型;城市名
weather: '', //字符串类型;天气现象
temperature:'', //字符串类型;温度
windDirection:'',//字符串类型;风向
windPower'', //字符串类型;风力,单位:级
humidity:'', //字符串类型;空气湿度
reportTime'' //字符串类型;数据发布时间
}]
}
},
err:
- 类型:JSON 对象
- 内部字段:
{
code:, //数字类型;错误码
msg:'' //字符串类型;错误信息
}
示例代码
var aMap = api.require('aMap');
aMap.weatherSearch({
cityName:'北京',
type:'live'
}, function(ret, err) {
if (ret.status) {
api.alert({msg:JSON.stringify(ret)});
} else {
api.alert({msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的1.4.5及更高版本
getProvinces
获取省份列表,无需调用 open 接口
getProvinces(callback(ret, err))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
provinces : [ //数组类型;返回全国省份的信息
{ //JSON对象;返回组成该省份的信息
name: '', //字符串类型;区域名称
adcode: '', //字符串类型;区域编码
jianpin: '', //字符串类型;区域简拼
pinyin: '', //字符串类型;区域拼音
size: , //数字类型;该区域离线包数据大小,单位:byte
downloadSize: , //数字类型;已下载离线包数据大小,单位:byte,android 平台暂不支持本字段
status: //数字类型;城市离线数据状态,取值范围如下:
// 0:不存在
// 1:缓存状态
// 2:已安装
// 3:已过期
},{},{},{}...
]
}
示例代码
var aMap = api.require('aMap');
aMap.getProvinces(function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getCitiesByProvince
获取各个省份包括的城市列表,无需调用 open 接口
getCitiesByProvince(callback(ret, err))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
provinces : [ //数组类型;返回全国各省份城市信息
{
province:{ //JSON对象;返回组成该省份的信息
name: '', //字符串类型;区域名称
adcode: '', //字符串类型;区域编码
jianpin: '', //字符串类型;区域简拼
pinyin: '', //字符串类型;区域拼音
size: , //数字类型;该区域离线包数据大小,单位:byte
downloadSize: , //数字类型;已下载离线包数据大小,单位:byte,android 平台暂不支持本字段
status: //数字类型;城市离线数据状态,取值范围如下:
// 0:不存在
// 1:缓存状态
// 2:已安装
// 3:已过期
},
cities:[ //数组类型;返回组成该省份的各个城市信息
{
name: '', //字符串类型;区域名称
adcode: '', //字符串类型;区域编码
cityCode: , //字符串类型;城市编码
jianpin: '', //字符串类型;区域简拼
pinyin: '', //字符串类型;区域拼音
size: , //数字类型;该区域离线包数据大小,单位:byte
downloadSize: , //数字类型;已下载离线包数据大小,单位:byte,android 平台暂不支持本字段
status: //数字类型;城市离线数据状态,取值范围如下:
// 0:不存在
// 1:缓存状态
// 2:已安装
// 3:已过期
},{}...]
},{},{}...]
}
示例代码
var aMap = api.require('aMap');
aMap.getCitiesByProvince(function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.1.8及更高版本
getMunicipalities
获取直辖市列表,无需调用 open 接口。Android 平台不支持此接口
getMunicipalities(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
municipalities : [{ //数组类型;返回全国直辖市信息
name: '', //字符串类型;区域名称
adcode: '', //字符串类型;区域编码
cityCode: , //字符串类型;城市编码
jianpin: '', //字符串类型;区域简拼
pinyin: '', //字符串类型;区域拼音
size: , //数字类型;该区域离线包数据大小,单位:byte
downloadSize: , //数字类型;已下载离线包数据大小,单位:byte
status: //数字类型;城市离线数据状态,取值范围如下:
// 0:不存在
// 1:缓存状态
// 2:已安装
// 3:已过期
}]
}
示例代码
var aMap = api.require('aMap');
aMap.getMunicipalities(function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统
可提供的1.0.0及更高版本
getNationWide
获取全国概要图信息,无需调用 open 接口。Android 平台不支持此接口
getNationWide(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
nationWide : { //JSON对象;全国概要图信息
name: '', //字符串类型;区域名称
adcode: '', //字符串类型;区域编码
cityCode: , //字符串类型;城市编码
jianpin: '', //字符串类型;区域简拼
pinyin: '', //字符串类型;区域拼音
size: , //数字类型;该区域离线包数据大小,单位:byte
downloadSize: , //数字类型;已下载离线包数据大小,单位:byte
status: //数字类型;城市离线数据状态,取值范围如下:
// 0:不存在
// 1:缓存状态
// 2:已安装
// 3:已过期
}
}
示例代码
var aMap = api.require('aMap');
aMap.getNationWide(function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统
可提供的1.0.0及更高版本
getAllCities
获取全国所有离线地图城市信息,无需调用 open 接口
getAllCities(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
cities : [{ //JSON对象;全国所有离线城市信息
name: '', //字符串类型;区域名称
adcode: '', //字符串类型;区域编码
cityCode: , //字符串类型;城市编码
jianpin: '', //字符串类型;区域简拼
pinyin: '', //字符串类型;区域拼音
size: , //数字类型;该区域离线包数据大小,单位:byte
downloadSize: , //数字类型;已下载离线包数据大小,单位:byte
status: //数字类型;城市离线数据状态,取值范围如下:
// 0:不存在
// 1:缓存状态
// 2:已安装
// 3:已过期
}]
}
示例代码
var aMap = api.require('aMap');
aMap.getAllCities(function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getVersion
获取离线数据的版本号,无需调用 open 接口。Android 平台不支持此接口
getVersion(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
versioin: '20130715' //字符串类型;离线数据的版本号,由年月日组成, 如@"20130715"
}
示例代码
var aMap = api.require('aMap');
aMap.getVersion(function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统
可提供的1.0.0及更高版本
downloadRegion
启动下载指定 adcode 区域的离线地图,无需调用 open 接口
downloadRegion({params}, callback(ret, err))
params
adcode:
- 类型:字符串
- 描述:指定的区域的 adcode 码(在android平台使用区域的cityCode)
shouldContinueWhenAppEntersBackground:
- 类型:布尔
- 描述:(可选项)进入后台是否允许继续下载
- 默认:false
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: 0, //数字类型;取值范围如下:
// 0:以插入队列,等待中
// 1:开始下载
// 2:下载过程中
// 3:下载成功
// 4:取消
// 5:解压缩
// 6:全部顺利完成
// 7:发生错误
info: { //JSON对象;离线包信息,仅当 status 为2时有值
expectedSize: , //数字类型;离线包大小,单位:byte
receivedSize: //数字类型;已下载到本地离线包大小,单位:byte
}
}
示例代码
var aMap = api.require('aMap');
aMap.downloadRegion({
adcode: '110000',
shouldContinueWhenAppEntersBackground: true
}, function(ret) {});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
isDownloading
检测指定 adcode 的区域是否正在下载,无需调用 open 接口
isDownloading({params}, callback(ret, err))
params
adcode:
- 类型:字符串
- 描述:指定的区域的 adcode 码
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;是否正在下载,true||false
}
示例代码
var aMap = api.require('aMap');
aMap.isDownloading({
adcode: '110000'
}, function(ret) {
if (ret.status) {
alert('正在下载');
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
pauseDownload
暂停下载指定 adcode 区域的离线地图,无需调用 open 接口,android端会暂停所有下载
pauseDownload({params})
params
adcode:
- 类型:字符串
- 描述:指定的区域的 adcode 码
示例代码
var aMap = api.require('aMap');
aMap.pauseDownload({
adcode: '110000'
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
cancelAllDownload
取消全部下载,无需调用 open 接口,android端会取消所有下载
cancelAllDownload()
示例代码
var aMap = api.require('aMap');
aMap.cancelAllDownload();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
clearDisk
清除所有保存在磁盘上的离线地图数据, 之后调用 reloadMap 会使其立即生效
clearDisk()
示例代码
var aMap = api.require('aMap');
aMap.clearDisk();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
checkNewestVersion
监测新版本,Android 平台不支持此接口
checkNewestVersion(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;是否有新版本,true||false
}
示例代码
var aMap = api.require('aMap');
aMap.checkNewestVersion(function(ret) {
if (ret.status) {
alert('有新版本');
} else {
alert('无新版本');
}
});
可用性
iOS系统
可提供的1.0.0及更高版本
reloadMap
将离线地图下载解压、移除后,调用此函数使离线数据生效,Android 平台不支持此接口
reloadMap()
示例代码
var aMap = api.require('aMap');
aMap.reloadMap();
可用性
iOS系统
可提供的1.0.0及更高版本
convertCoordinate
其它坐标系经纬度转换为高德地图经纬度
convertCoordinate({params},callback(ret))
params
type:
- 类型:字符串
- 描述:(可选项)经纬度坐标类型
- 默认:GPS
- 取值范围:
- GPS:gps坐标
- baidu:百度坐标
- mapBar:mapbar坐标
- mapABC:mapABC坐标
- sosoMap:soso地图坐标
- aliYun:阿里云地图坐标
- google:谷歌地图坐标
location:
- 类型:JSON对象
- 描述:经纬度
- 内部字段:
{
lat: , //数字类型:纬度
lon: //数字类型:经度
}
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
lat: , //数字类型:纬度
lon: //数字类型:经度
}
示例代码
var aMap = api.require('aMap');
aMap.convertCoordinate({
type:'GPS',
location:{
lat:,
lon:
}
},function(ret){
api.alert({msg:JSON.stringify(ret)});
});
可用性
iOS系统,android系统
可提供的1.1.8及更高版本
processedTrace
开始纠偏轨迹
processedTrace({params},callback(ret,err))
params
type:
- 类型:字符串
- 描述:(可选项)轨迹坐标类型
- 默认:aMap
- 取值范围:
- aMap: 高德地图坐标
- GPS:gps坐标
- baidu:百度坐标
- mapBar:mapbar坐标
- mapABC:mapABC坐标
- sosoMap:soso地图坐标
- aliYun:阿里云地图坐标
- google:谷歌地图坐标
path:
- 类型:字符串
- 描述:经纬度轨迹点信息文件路径,要求本地路径(widget://、fs://)
- 内部字段:
[{
"loctime":1470297096917, //数字类型;时间,单位毫秒
"longitude":116.47284, //数字类型;经度坐标
"latitude":39.99493, //数字类型;纬度坐标
"speed":0, //数字类型;速度,单位km/h
"bearing":0 //数字类型;角度, 标识移动方向,单位度
}]
savePath:
- 类型:字符串
- 描述:(可选项)纠偏后的经纬度轨迹点信息文件保存路径,要求本地路径(fs://)
- 默认:若不传则使用模块默认路径
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔类型;是否纠偏成功
path: ‘’ //字符串类型;纠偏后的轨迹点信息文件保存路径,格式如下所示:
[{"longitude":116,"latitude":34},{}...]
}
err:
- 类型:JSON 对象
- 内部字段:
{
code: true, //布尔类型;错误码
msg: ‘’ //字符串类型;错误信息
}
示例代码
var aMap = api.require('aMap');
aMap.processedTrace({
type:'GPS',
path:'',
savePath:''
},function(ret,err) {
api.alert({msg:JSON.stringify(ret)});
});
可用性
iOS系统,android系统
可提供的1.1.8及更高版本
cancelProcessedTrace
取消轨迹纠偏
cancelProcessedTrace()
示例代码
var aMap = api.require('aMap');
aMap.cancelProcessedTrace();
可用性
iOS系统,android系统
可提供的1.1.8及更高版本
setMapLanguage
地图中英文切换
setMapLanguage()
params
language:
- 类型:字符串
- 描述:要切换的语言
- 取值范围:'zh_cn'/中文,'en'/英文
- 默认:'zh_cn'
示例代码
var aMap = api.require('aMap');
aMap.setMapLanguage({
language:'zh_cn'
});
可用性
iOS系统,android系统
可提供的1.1.8及更高版本
getDeviceID
获取高德地图提供的deviceID,方便工单定位问题。仅支持android端。
getDeviceID()
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
deviceID: "", //字符串;通过高德sdk获取到的deviceID
}
示例代码
var aMap = api.require('aMap');
aMap.getDeviceID(function(ret){
alert(ret.deviceID)
});
可用性
iOS系统,android系统
可提供的1.1.8及更高版本
getDownloadOfflineMapCityList
获取已下载城市列表(仅android支持)
getDownloadOfflineMapCityList()
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
cities : [{ //JSON对象;全国所有离线城市信息
name: '', //字符串类型;区域名称
adcode: '', //字符串类型;区域编码
cityCode: , //字符串类型;城市编码
jianpin: '', //字符串类型;区域简拼
pinyin: '', //字符串类型;区域拼音
size: , //数字类型;该区域离线包数据大小,单位:byte
downloadSize: , //数字类型;已下载离线包数据大小,单位:byte
status: //数字类型;城市离线数据状态,取值范围如下:
// 0:不存在
// 1:缓存状态
// 2:已安装
// 3:已过期
// 更多状态见高德文档:http://a.amap.com/lbs/static/unzip/Android_Map_Doc/index.html中OfflineMapStatus
}]
}
示例代码
var aMap = api.require('aMap');
aMap.getDownloadOfflineMapCityList(function(ret,err){
});
可用性
android系统
可提供的1.4.8及更高版本
getDownloadingCityList
获取正在下载城市列表(仅android支持)
getDownloadingCityList()
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
cities : [{ //JSON对象;全国所有离线城市信息
name: '', //字符串类型;区域名称
adcode: '', //字符串类型;区域编码
cityCode: , //字符串类型;城市编码
jianpin: '', //字符串类型;区域简拼
pinyin: '', //字符串类型;区域拼音
size: , //数字类型;该区域离线包数据大小,单位:byte
downloadSize: , //数字类型;已下载离线包数据大小,单位:byte
status: //数字类型;城市离线数据状态,取值范围如下:
// 0:不存在
// 1:缓存状态
// 2:已安装
// 3:已过期
// 更多状态见高德文档:http://a.amap.com/lbs/static/unzip/Android_Map_Doc/index.html中OfflineMapStatus
}]
}
示例代码
var aMap = api.require('aMap');
aMap.getDownloadingCityList(function(ret,err){
});
可用性
android系统
可提供的1.4.8及更高版本
setOfflineLoadListenr
设置离线地图加载监听,调用离线相关接口前使用有效(仅android支持)
setOfflineLoadListenr()
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
var aMap = api.require('aMap');
aMap.setOfflineLoadListenr(function(ret,err){
});
可用性
android系统
可提供的1.4.8及更高版本
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。