updateMapViewPrivacy updateSearchPrivacy open close show hide setRect getLocation stopLocation getCoordsFromName getNameFromCoords getDistance showUserLocation setTrackingMode setCenter getCenter setZoomLevel getZoomLevel setMapAttr setRotation getRotation setOverlook getOverlook setRegion getRegion setScaleBar setCompass setLogo takeSnapshotInRect isPolygonContainsPoint isCircleContainsPoint interconvertCoords addEventListener removeEventListener setMapLanguage getDeviceID showMapText animateCamera
isShowsIndoorMap showsIndoorMap isShowsIndoorMapControl showsIndoorMapControl indoorMapControlSize setIndoorMapControlOrigin setCurrentIndoorMapFloorIndex clearIndoorMapCache addIndoorMapListener
addAnnotations cancelAnnotationSelected getAnnotationCoords setAnnotationCoords annotationExist setBubble popupBubble closeBubble addBillboard addWebBoard addWebBoardListener removeWebBoardListener addMobileAnnotations moveAnnotation removeAnnotations setWebBubble addWebBubbleListener removeWebBubbleListener addMoveAnimation cancelMoveAnimation showAnnotations
searchRoute
drawRoute
removeRoute
searchBusRoute
drawBusRoute
removeBusRoute
searchInCity
searchNearby
searchInPolygon
autocomplete
districtSearch
weatherSearch
getProvinces
getCitiesByProvince
getMunicipalities
getNationWide
getAllCities
getVersion
downloadRegion
isDownloading
pauseDownload
cancelAllDownload
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 和高德地图实现无缝链接。
论坛示例
为帮助用户更好更快的使用原生插件,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。
原生插件使用攻略
注意事项
本原生插件内带动画效果的接口不可同时调用(两个以上),需要设置延迟(setTimeout
)处理。
需要在YonBuilder移动开发平台 网站控制台编译界面选择定位权限。凡是需要使用定位功能的原生插件,请先选择定位权限
不能同时添加的原生插件:aMapLocation, baiduLocation
使用此原生插件之前必须先配置 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({params})
privacyAgree:
privacyShow:
containStatus:
var aMap = api.require('aMap');
aMap.updateMapViewPrivacy({
privacyAgree:'didAgree',
privacyShow:'didShow',
containStatus:'didContain'
});
iOS系统,Android系统
可提供的1.6.0及更高版本
设置搜索类隐私权限
updateSearchPrivacy({params})
privacyAgree:
privacyShow:
containStatus:
var aMap = api.require('aMap');
aMap.updateSearchPrivacy({
privacyAgree:'didAgree',
privacyShow:'didShow',
containStatus:'didContain'
});
iOS系统,Android系统
可提供的1.6.0及更高版本
打开高德地图
open({params}, callback(ret))
showUserLocation:
showUserLocation:
rect:
{
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:
showUserLocation:
userLocationCanShowCallout:
showsAccuracyRing:
isGestureScaleByMapCenter:
fixedOn:
fixed:
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
关闭高德地图
close()
var aMap = api.require('aMap');
aMap.close();
iOS系统,Android系统
可提供的1.0.0及更高版本
显示高德地图
show()
var aMap = api.require('aMap');
aMap.show();
iOS系统,Android系统
可提供的1.0.0及更高版本
隐藏高德地图
hide()
var aMap = api.require('aMap');
aMap.hide();
iOS系统,Android系统
可提供的1.0.0及更高版本
重设地图的显示区域
setRect({params})
rect:
{
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及更高版本
获取当前位置信息,若要支持后台定位需配置 config.xml 文件 location 字段。iOS上调用本接口需先 open,在iOS 平台上 showUserLocation 为 false 时此接口不可用
注:根据高德地图技术回复,在有的手机上即使拒绝手机定位权限,依然可以获取到位置信息
getLocation({params}, callback(ret, err))
autoStop:
enableLocInForeground:
notification:
内部字段:
{
title :'', //(可选项) 字符串类型;标题; 默认值:应用名称
content:'', //(可选项) 字符串类型;内容; 默认值:正在后台运行
channelId:'', //字符串类型,通知通道号,argetSdkVersion大于等于28时必填
}
channelId:可通过 notificationUtil 原生插件获取
ret:
{
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:
{
status: false, //布尔型;true||false
errorCode: //数字类型;错误码
errorInfo:"" //字符串类型;错误信息
}
var aMap = api.require('aMap');
aMap.getLocation(function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
停止定位
stopLocation()
var aMap = api.require('aMap');
aMap.stopLocation();
iOS系统,Android系统
可提供的1.0.0及更高版本
根据地址查找经纬度,无需调用 open 接口即可使用
getCoordsFromName({params}, callback(ret, err))
city:
address:
ret:
{
status: true, //布尔型;true||false
lon: 116.351, //数字类型;地址所在经度
lat: 39.283 //数字类型;地址所在纬度
}
err:
{
code: 1 //数字类型;错误码
msg: //字符串类型;错误描述
}
var aMap = api.require('aMap');
aMap.getCoordsFromName({
city: '济南',
address: '济南市市中区趵突泉南路1号趵突泉公园内'
}, function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
根据经纬度查找地址信息,无需调用 open 接口即可使用
getNameFromCoords({params}, callback(ret))
lon:
lat:
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取地图两点之间的距离,无需调用 open 接口即可使用
getDistance({params}, callback(ret))
start:
{
lon: 106.486654, //数字类型;起点的经度
lat: 29.490295 //数字类型;起点的纬度
}
end:
{
lon: 106.581515, //数字类型;终点的经度
lat: 29.615467 //数字类型;终点的纬度
}
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
是否在地图上显示用户位置
showUserLocation({params})
isShow:
imagePath:
imageSize:
{
w:, //(可选项)数字类型;图标宽度;默认:原图宽的一半
h: //(可选项)数字类型;图标高度度;默认:原图高的一半
}
showsAccuracyRing:
showsHeadingIndicator:
enablePulseAnnimation:
fillColor:
strokeColor:
dotBgColor:
dotFillColor:
lineWidth:
类型:数字
描述:(可选项)精度圈 边线宽度
默认值:0
locationType
类型:数字
描述:(可选项)定位模式(仅Android支持)
默认值:1
取值范围:
var aMap = api.require('aMap');
aMap.showUserLocation({
isShow: true
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置跟踪类型,android端1.5.3以及以后版本建议使用showUserLocation -locationType控制
setTrackingMode({params})
trackingMode:
animation:
var aMap = api.require('aMap');
aMap.setTrackingMode({
animation: false,
trackingMode: 'none'
});
iOS系统,Android系统
可提供的1.0.0及更高版本
根据经纬度设置高德地图中心点
setCenter({params})
coords:
{
lon: 116.404, //(可选项)数字类型;设置中心点的经度
lat: 39.915 //(可选项)数字类型;设置中心点的纬度
}
animation:
var aMap = api.require('aMap');
aMap.setCenter({
coords: {
lon: 116.404,
lat: 39.915
},
animation: false
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取高德地图中心点坐标
getCenter(callback(ret, err))
ret:
{
lon: 116.404, //数字类型;地图中心点的经度
lat: 39.915 //数字类型;地图中心点的纬度
}
var aMap = api.require('aMap');
aMap.getCenter(function(ret, err) {
if (ret) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置高德地图缩放等级
setZoomLevel({params})
level:
animation:
var aMap = api.require('aMap');
aMap.setZoomLevel({
level: 10,
animation: true
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取地图缩放级别(0.01-20)
getZoomLevel(callback(ret, err))
ret:
{
level: 11 //数字类型;地图当前缩放级别
}
var aMap = api.require('aMap');
aMap.getZoomLevel(function(ret, err) {
if (ret) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置高德地图相关属性
setMapAttr({params})
type:
trafficOn:
zoomEnable:
scrollEnable:
overlookEnabled:
rotateEnabled:
building:
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({params})
degree:
animation:
duration:
var aMap = api.require('aMap');
aMap.setRotation({
degree: 30,
animation: true,
duration: 0.3
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取地图当前旋转角度
getRotation(callback(ret, err))
ret:
{
rotation: 11 //数字类型;地图当前旋转角度
}
var aMap = api.require('aMap');
aMap.getRotation(function(ret) {
alert(JSON.stringify(ret.level));
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置地图俯视角度(范围为[0.f, 60.f])
setOverlook({params})
degree:
animation:
duration:
var aMap = api.require('aMap');
aMap.setOverlook({
degree: 30,
animation: true,
duration: 0.3
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取地图当前俯视角度
getOverlook(callback(ret, err))
ret:
{
overlook: 11 //数字类型;地图当前俯视角度
}
var aMap = api.require('aMap');
aMap.getOverlook(function(ret) {
alert(JSON.stringify(ret.level));
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置地图显示范围(矩形区域)
setRegion({params})
lbLon:
lbLat:
rtLon:
rtLat:
animation:
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(callback(ret, err))
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置高德地图比例尺
setScaleBar({params})
show:
position:
{
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({params})
show:
position:
{
x: 0, //(可选项)数字类型;指南针左上角的 x 坐标(相对于地图);默认:0
y: 0 //(可选项)数字类型;指南针左上角的 y 坐标(相对于地图);默认:0
}
img:
var aMap = api.require('aMap');
aMap.setCompass({
show: true,
img: 'widget://res/compass.png',
position: {
x:100,
y:100
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置高德地图 logo 的位置
setLogo({params})
position:
var aMap = api.require('aMap');
aMap.setLogo({
position: 'right'
});
iOS系统,Android系统
可提供的1.0.0及更高版本
判断已知点是否在指定的多边形区域内
isPolygonContainsPoint({params}, callback(ret, err))
point:
{
lon: 116.297, //数字类型;经度
lat: 40.109 //数字类型;纬度
}
points:
[{
lon: 116.297, //数字类型;经度
lat: 40.109 //数字类型;纬度
}]
ret:
{
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({params}, callback(ret, err))
point:
{
lon: 116.297, //数字类型;经度
lat: 40.109 //数字类型;纬度
}
circle:
{
center: { //JSON对象;圆心信息
lon: 116.297, //数字类型;经度
lat: 40.109 //数字类型;纬度
},
radius: 100 //(可选项)数字类型;半径,单位米(m);默认:100
}
ret:
{
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及更高版本
经纬度坐标与地图容器像素坐标相互转换,经纬度和x,y值传一种即可。
interconvertCoords({params}, callback(ret, err))
lon:
lat:
x:
y:
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
在指定区域内截图(默认会包含该区域内的标注)
takeSnapshotInRect({params}, callback(ret))
rect:
{
x: 0, //(可选项)数字类型;地图左上角的 x 坐标(相对于地图所在的区域);默认:0
y: 0, //(可选项)数字类型;地图左上角的 y 坐标(相对于地图所在的区域);默认:0
w: 320, //(可选项)数字类型;地图的宽度;默认:地图的宽
h: 480 //(可选项)数字类型;地图的高度;默认:地图的高
}
path:
quality:
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.0.0及更高版本
监听地图相关事件
addEventListener({params}, callback(ret))
name:
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
停止监听地图相关事件
removeEventListener({params})
name:
var aMap = api.require('aMap');
aMap.removeEventListener({
name: 'longPress'
});
iOS系统,Android系统
可提供的1.0.0及更高版本
是否为显示室内地图状态
isShowsIndoorMap(callback(ret))
ret:
{
status: false //布尔类型;是否为显示室内地图状态
}
var aMap = api.require('aMap');
aMap.isShowsIndoorMap(function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.1.3及更高版本
设置是否显示室内地图
showsIndoorMap({params})
isShows:
var aMap = api.require('aMap');
aMap.showsIndoorMap({
isShows: true
});
iOS系统,Android系统
可提供的1.1.3及更高版本
是否为显示室内地图默认控件
isShowsIndoorMapControl(callback(ret))
ret:
{
status: false //布尔类型;是否为显示室内地图默认控件状态
}
var aMap = api.require('aMap');
aMap.isShowsIndoorMapControl(function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.1.3及更高版本
设置是否显示室内地图默认控件
showsIndoorMapControl({params})
isShows:
var aMap = api.require('aMap');
aMap.showsIndoorMapControl({
isShows: true
});
iOS系统,Android系统
可提供的1.1.3及更高版本
获取默认室内地图控件的最大宽高
indoorMapControlSize(callback(ret))
ret:
{
size:{ //JSON对象;默认室内地图控件的最大宽高
width:, //数字类型;默认室内地图控件的最大宽
height: //数字类型;默认室内地图控件的最大高
}
}
var aMap = api.require('aMap');
aMap.indoorMapControlSize(function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统
可提供的1.1.3及更高版本
设置默认室内地图控件位置
setIndoorMapControlOrigin({params})
point:
{
x:0, //数字类型;
y:0 //数字类型;
}
var aMap = api.require('aMap');
aMap.setIndoorMapControlOrigin({
point: {
x:10,
y:10
}
});
iOS系统
可提供的1.1.3及更高版本
设置当前室内地图楼层数
setCurrentIndoorMapFloorIndex({params})
floorIndex:
var aMap = api.require('aMap');
aMap.setCurrentIndoorMapFloorIndex({
floorIndex: 2
});
iOS系统,Android系统
可提供的1.1.3及更高版本
添加室内地图监听
addIndoorMapListener()
ret:
{
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()
var aMap = api.require('aMap');
aMap.clearIndoorMapCache();
iOS系统
可提供的1.1.3及更高版本
在地图上添加标注信息,标注大小默认为 icons 内第一张图片大小的二分之一。图标中轴线的下边缘点为坐标基准点
addAnnotations({params}, callback(ret, err))
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:
selectedIcons:
draggable:
timeInterval:
ret:
{
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({params})
id:
var aMap = api.require('aMap');
aMap.cancelAnnotationSelected({
id: 1
});
iOS系统,Android系统
可提供的1.2.7及更高版本
获取指定标注的经纬度
getAnnotationCoords({params}, callback(ret))
id:
ret:
{
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(callback(ret, err))
id:
lon:
lat:
var aMap = api.require('aMap');
aMap.setAnnotationCoords({
id: 2,
lon: 116.39,
lat: 40.209
});
iOS系统,Android系统
可提供的1.0.0及更高版本
判断标注是否存在
annotationExist({params}, callback(ret, err))
id:
ret:
{
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({params}, callback(ret, err))
id:
bgImg:
content:
{
title: '', //字符串类型;弹出气泡的标题
subTitle: '', //(可选项)字符串类型;弹出气泡的概述内容,若不传则 title 在上下位置居中显示
illus: '' //(可选项)字符串类型;弹出气泡的配图(30*40规格),支持http://、https://、widget://、fs://等协议,若不传则不显示插图,标题和子标题忽略插图显示
}
styles:
{
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
}
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置点击标注时弹出的气泡信息
setWebBubble({params})
id:
url:
data:
size:
{
width: 50, //(可选项)数字类型;气泡的宽;默认:50
height: 50 //(可选项)数字类型;气泡的高;默认:50
}
bg:
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(callback(ret))
ret:
{
id: 1 //数字类型;用户点击气泡返回的id
}
var map = api.require('aMap');
map.addWebBubbleListener(function(ret){
api.alert({msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
移除网页气泡点击监听
removeWebBubbleListener(callback(ret))
var map = api.require('aMap');
map.removeWebBubbleListener();
iOS系统,Android系统
可提供的1.0.0及更高版本
弹出指定标注的气泡
popupBubble({params})
id:
var aMap = api.require('aMap');
aMap.popupBubble({
id: 2
}, function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.0.0及更高版本
关闭已弹出的气泡
closeBubble({params})
id:
var aMap = api.require('aMap');
aMap.closeBubble({
id: 2
});
iOS系统,Android系统
可提供的1.0.0及更高版本
在地图上添加布告牌,布告牌图标中轴线的下边缘点为坐标基准点
addBillboard({params})
id:
coords:
{
lon: 116.233, //数字类型;布告牌所在位置的经度
lat: 39.134 //数字类型;布告牌所在位置的纬度
}
bgImg:
content:
{
title: '', //(可选项)字符串类型;布告牌的标题
subTitle: '', //(可选项)字符串类型;布告牌的概述内容
illus: '' //(可选项)字符串类型;布告牌的配图,支持http://、https://、widget://、fs://等协议
}
draggable:
styles:
{
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:
{
bgImg:'', //(可选项)字符串类型;选中后的布告牌背景图片,要求本地路径(fs://、widget://);默认:同未选中时值相同
titleColor: '#000', //(可选项)字符串类型;选中后的布告牌标题的文字颜色,支持 rgb、rgba、#;默认:同未选中时值相同
subTitleColor: '#000', //(可选项)字符串类型;选中后的布告牌概述内容的文字颜色,支持 rgb、rgba、#;默认:同未选中时值相同
illus: '' //(可选项)字符串类型;选中后的布告牌的配图;默认:同未选中时值相同
}
useIllusPoint:
zIndex:
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
在地图上添加网页布告牌,布告牌图标中轴线的下边缘点为坐标基准点
addWebBoard({params})
id:
coords:
{
lon: 116.233, //数字类型;布告牌所在位置的经度
lat: 39.134 //数字类型;布告牌所在位置的纬度
}
bg:
url:
data:
size:
{
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(callback(ret))
ret:
{
id: 1 //数字类型;用户点击布告牌返回的id
}
var map = api.require('aMap');
map.addWebBoardListener(function(ret){
api.alert({msg:'网页布告牌'+JSON.stringify(ret)});
});
iOS系统
可提供的1.3.1及更高版本
移除网页布告牌点击监听
removeWebBoardListener(callback(ret))
var map = api.require('aMap');
map.removeWebBoardListener();
iOS系统
可提供的1.3.1及更高版本
在地图上添加可移动、旋转的标注图标,图标的中心点为坐标基准点
addMobileAnnotations({params}, callback(ret, err))
annotations:
[{
id: 10, //数字类型;图标标注的唯一标识,注意:本 id 不可与 addAnnotations、addBillboard 接口内的 id 相同
lon: 116.233, //数字类型;图标标注所在位置的经度
lat: 39.134, //数字类型;图标标注所在位置的纬度
icon: 'widget://', //字符串类型;指定的标注图标,要求本地路径(fs://、widget://),图标的锚点即是坐标点。
draggable: true, //布尔类型;所添加的可移动的标注是否可被拖动;默认:false
zIndex:1 //数字类型;所添加标注的zIndex
}]
ret:
{
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及更高版本
移动地图上已添加的可移动、旋转的标注图标,在移动动画开始前,会先做 0.3 秒的旋转动画,使所移动的图标中间轴线顶端对准终点坐标点。在 Android 平台上,如果标注添加到地图当前可视区域以外的区域,则不可以移动该标注
moveAnnotation({params}, callback(ret, err))
id:
duration:
end:
{
lon: 116.581515, //数字类型;终点的经度
lat: 29.615467 //数字类型;终点的纬度
}
ret:
{
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及更高版本
移除指定 id 的标注(可移动、不可移动)或布告牌
removeAnnotations({params})
ids:
var aMap = api.require('aMap');
aMap.removeAnnotations({
ids: [1,3,5,7]
});
iOS系统,Android系统
可提供的1.0.0及更高版本
给地图上的标注添加移动动画
注意:
第一个添加的动画以当前位置为起始点,沿传入的coordinates点移动,否则以上一个动画终点为起始点
id:
duration:
coordinates:
{
lon: 116.581515, //数字类型;经度
lat: 29.615467 //数字类型;纬度
}
ret:
{
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({params})
id:
var aMap = api.require('aMap');
aMap.cancelMoveAnimation({
id: 1
});
iOS系统,Android系统
可提供的1.1.8及更高版本
显示指定 id 的标注(可移动、不可移动)或布告牌
showAnnotations({params})
animation:
ids:
insets:
{
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({params})
id:
data:
[{
longitude:, //数字类型;经度
latitude:, //数字类型;纬度
intensity:'' //数字类型;强度
}]
styles:
{
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({params})
id:
styles:
{
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({params},callback(ret))
id:
path:
[{
"longitude":, //数字类型;经度
"latitude":, //数字类型;纬度
"title":"yonbuilder", //字符串类型;标题
"subtitle":"yonbuilder", //字符串类型;子标题
"customID":"1" //字符串类型;自定义id
}]
styles:
{
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
}
}
ret:
{
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({params})
id:
styles:
{
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({params})
id:
center:
{
lon: 116.297, //数字类型;圆形中心点的经度
lat: 40.109 //数字类型;圆形中心点的纬度
}
radius:
styles:
{
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({params})
id:
styles:
{
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({params})
id:
imgPath:
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({params})
id:
borderWidth:
autoresizing:
locusData:
.json
文件.json
文件内部字段:[{
longtitude: "116.297", //字符串类型;经度
latitude: "40.109" //字符串类型;纬度
rgba: 'rgba(123,234,12,1)' //字符串类型;颜色值
}]
locations:
JSONArray内部字段:
[{
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及更高版本
移除指定 id 的覆盖物
removeOverlay({params})
ids:
var aMap = api.require('aMap');
aMap.removeOverlay({
ids: [1, 2, 3, 4, 5]
});
iOS系统,Android系统
可提供的1.0.0及更高版本
搜索路线方案,无需调用 open 接口即可使用
searchRoute({params}, callback(ret, err))
type:
strategy:
start:
{
lon: 116.403838, //数字类型;起点经度
lat: 39.914437 //数字类型;起点纬度
}
waypoints:
[{
lon: 116.403838, //数字类型;起点经度
lat: 39.914437 //数字类型;起点纬度
}]
nightflag:
city:
end:
{
lon: 116.384852, //数字类型;终点经度
lat: 39.989576 //数字类型;终点纬度
}
ret:
{
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及更高版本
在地图上绘制显示 searchRoute 搜索到的指定路线,调用本接口前,必须保证已经调用过 open 和 searchRoute 接口
drawRoute({params})
id:
autoresizing:
index:
styles:
{
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及更高版本
移除指定 id 的路线
removeRoute({params})
ids:
var aMap = api.require('aMap');
aMap.removeRoute({
ids: [1, 2, 3]
});
iOS系统,Android系统
可提供的1.0.0及更高版本
根据关键字搜索公交、地铁线路,无需调用 open 接口即可搜索
searchBusRoute({params}, callback(ret, err))
city:
line:
offset:
page:
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
根据 searchBusRoute 搜索返回的公交信息,将指定线路绘制在地图上
drawBusRoute({params})
id:
autoresizing:
index:
styles:
{
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({params})
ids:
var aMap = api.require('aMap');
aMap.removeBusRoute({
ids:[1, 2, 3]
});
iOS系统,Android系统
可提供的1.0.0及更高版本
根据单个关键字搜索兴趣点,无需调用 open 接口即可搜索
searchInCity({params}, callback(ret, err))
city:
keyword:
offset:
page:
sortrule:
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
}
});
searchInCity、searchNearby、searchInPolygon 三者不可并发执行,在接口未响应前 ,最后一次调用的接口会覆盖之前调用的所有接口
iOS系统,Android系统
可提供的1.0.0及更高版本
根据单个关键字在圆形区域内搜索兴趣点,无需调用 open 接口即可搜索
searchNearby({params}, callback(ret, err))
keyword:
lon:
lat:
radius:
offset:
page:
sortrule:
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
}
});
searchInCity、searchNearby、searchInPolygon 三者不可并发执行,在接口未响应前 ,最后一次调用的接口会覆盖之前调用的所有接口
iOS系统,Android系统
可提供的1.0.0及更高版本
根据单个关键字在指定的多边形区域内搜索兴趣点,无需调用 open 接口即可搜索
searchInPolygon({params}, callback(ret, err))
keyword:
points:
[{
lat: , //数字类型;坐标点的纬度
lon: //数字类型;坐标点的经度
}]
offset:
page:
sortrule:
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
}
});
searchInCity、searchNearby、searchInPolygon 三者不可并发执行,在接口未响应前 ,最后一次调用的接口会覆盖之前调用的所有接口
iOS系统,Android系统
可提供的1.0.0及更高版本
根据关键字返回建议搜索关键字,无需调用 open 接口即可搜索
autocomplete({params}, callback(ret, err))
keyword:
city:
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
根据关键字返回行政区划数据,无需调用 open 接口即可搜索,如果调用open打开了一个地图,则同时在地图上绘制并跳转到行政区划边界区域,是否绘制由showInMap控制
districtSearch({params}, callback(ret, err))
keyword:
showInMap:
{
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 参数
}
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
}
});
iOS系统,Android系统
可提供的1.0.7及更高版本
查询天气,无需调用 open 接口即可搜索
weatherSearch({params}, callback(ret, err))
cityName:
type:
ret:
{
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:
{
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及更高版本
获取省份列表,无需调用 open 接口
getProvinces(callback(ret, err))
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取各个省份包括的城市列表,无需调用 open 接口
getCitiesByProvince(callback(ret, err))
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
}
});
iOS系统,Android系统
可提供的1.1.8及更高版本
获取直辖市列表,无需调用 open 接口。Android 平台不支持此接口
getMunicipalities(callback(ret))
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
}
});
iOS系统
可提供的1.0.0及更高版本
获取全国概要图信息,无需调用 open 接口。Android 平台不支持此接口
getNationWide(callback(ret))
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
}
});
iOS系统
可提供的1.0.0及更高版本
获取全国所有离线地图城市信息,无需调用 open 接口
getAllCities(callback(ret))
ret:
{
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) {
api.alert({
msg: JSON.stringify(ret)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取离线数据的版本号,无需调用 open 接口。Android 平台不支持此接口
getVersion(callback(ret))
ret:
{
status: true, //布尔型;true||false
versioin: '20130715' //字符串类型;离线数据的版本号,由年月日组成, 如@"20130715"
}
var aMap = api.require('aMap');
aMap.getVersion(function(ret) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
}
});
iOS系统
可提供的1.0.0及更高版本
启动下载指定 adcode 区域的离线地图,无需调用 open 接口
downloadRegion({params}, callback(ret, err))
adcode:
shouldContinueWhenAppEntersBackground:
ret:
{
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及更高版本
检测指定 adcode 的区域是否正在下载,无需调用 open 接口
isDownloading({params}, callback(ret, err))
adcode:
ret:
{
status: true //布尔型;是否正在下载,true||false
}
var aMap = api.require('aMap');
aMap.isDownloading({
adcode: '110000'
}, function(ret) {
if (ret.status) {
alert('正在下载');
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
暂停下载指定 adcode 区域的离线地图,无需调用 open 接口,android端会暂停所有下载
pauseDownload({params})
adcode:
var aMap = api.require('aMap');
aMap.pauseDownload({
adcode: '110000'
});
iOS系统,Android系统
可提供的1.0.0及更高版本
取消全部下载,无需调用 open 接口,android端会取消所有下载
cancelAllDownload()
var aMap = api.require('aMap');
aMap.cancelAllDownload();
iOS系统,Android系统
可提供的1.0.0及更高版本
清除所有保存在磁盘上的离线地图数据, 之后调用 reloadMap 会使其立即生效
clearDisk()
var aMap = api.require('aMap');
aMap.clearDisk();
iOS系统,Android系统
可提供的1.0.0及更高版本
监测新版本,Android 平台不支持此接口
checkNewestVersion(callback(ret))
ret:
{
status: true //布尔型;是否有新版本,true||false
}
var aMap = api.require('aMap');
aMap.checkNewestVersion(function(ret) {
if (ret.status) {
alert('有新版本');
} else {
alert('无新版本');
}
});
iOS系统
可提供的1.0.0及更高版本
将离线地图下载解压、移除后,调用此函数使离线数据生效,Android 平台不支持此接口
reloadMap()
var aMap = api.require('aMap');
aMap.reloadMap();
iOS系统
可提供的1.0.0及更高版本
其它坐标系经纬度转换为高德地图经纬度
convertCoordinate({params},callback(ret))
type:
location:
{
lat: , //数字类型:纬度
lon: //数字类型:经度
}
ret:
{
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({params},callback(ret,err))
type:
path:
[{
"loctime":1470297096917, //数字类型;时间,单位毫秒
"longitude":116.47284, //数字类型;经度坐标
"latitude":39.99493, //数字类型;纬度坐标
"speed":0, //数字类型;速度,单位km/h
"bearing":0 //数字类型;角度, 标识移动方向,单位度
}]
savePath:
ret:
{
status: true, //布尔类型;是否纠偏成功
path: ‘’ //字符串类型;纠偏后的轨迹点信息文件保存路径,格式如下所示:
[{"longitude":116,"latitude":34},{}...]
}
err:
{
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()
var aMap = api.require('aMap');
aMap.cancelProcessedTrace();
iOS系统,android系统
可提供的1.1.8及更高版本
地图中英文切换
setMapLanguage()
language:
var aMap = api.require('aMap');
aMap.setMapLanguage({
language:'zh_cn'
});
iOS系统,android系统
可提供的1.1.8及更高版本
获取高德地图提供的deviceID,方便工单定位问题。仅支持android端。
getDeviceID()
ret:
{
deviceID: "", //字符串;通过高德sdk获取到的deviceID
}
var aMap = api.require('aMap');
aMap.getDeviceID(function(ret){
alert(ret.deviceID)
});
iOS系统,android系统
可提供的1.1.8及更高版本
获取已下载城市列表(仅android支持)
getDownloadOfflineMapCityList()
ret:
{
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及更高版本
获取正在下载城市列表(仅android支持)
getDownloadingCityList()
ret:
{
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及更高版本
设置离线地图加载监听,调用离线相关接口前使用有效(仅android支持)
setOfflineLoadListenr()
ret:
{
status: true, //布尔型;true||false
}
var aMap = api.require('aMap');
aMap.setOfflineLoadListenr(function(ret,err){
});
android系统
可提供的1.4.8及更高版本
设置是否显示底图文字
showMapText({params})
isShows:
var aMap = api.require('aMap');
aMap.showMapText({
isShows: true
});
iOS系统,Android系统
可提供的1.6.4及更高版本
移动地图视图到指定区域内;使用该接口可以把地图视图移动到覆盖所传的points内的所有经纬度坐标。使用时建议传入想要移动的矩形区域内的最上、最下、最左、最右四个经纬度坐标点即可把地图视图移动到想要展示的区域内。
animateCamera({params})
margin:
points:
[{
lon: 116.297, //数字类型;经度
lat: 40.109 //数字类型;纬度
}]
var aMap = api.require('aMap');
aMap.animateCamera({
margin:100,
points : [ {
lon : 116.135972,
lat : 39.999391
}, {
lon : 116.057694,
lat : 39.898323
}, {
lon : 116.265061,
lat : 39.900430
}, {
lon : 116.140092,
lat : 39.955192
} ]
});
iOS系统,Android系统
可提供的1.6.7及更高版本
为帮助用户更好更快的使用原生插件,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。