
Amap Jsapi Skill
- 150 installs
- 158 repo stars
- Updated April 13, 2026
- amap-web/amap-skills
amap-jsapi-skill is an agent skill package that teaches AMap JavaScript API v2.0 map initialization, security configuration, overlays, layers, and LBS services so coding tools generate spec-compliant map code.
About
amap-jsapi-skill is the flagship skill in amap-web/amap-skills (skill version 1.1.0), packaging official AMap JSAPI v2.0 documentation, best practices, and verified examples for Cursor, Claude, and Cline. SKILL.md covers mandatory `window._AMapSecurityConfig` before `AMapLoader.load`, 3D view controls, markers, vector graphics, layers, geocoding, routing, POI search, and events, with modular reference files such as `references/security.md` and `references/routing.md` plus an `references/api/` index spanning map, marker, routing, and search classes. Install by linking `amap-jsapi-skill` into `.cursor/skills/` or equivalent. The skill enforces security-key setup, `map.destroy()` cleanup, on-demand plugins, and `AMap.getConfig().appname = 'amap-jsapi-skill'`. Reach for amap-jsapi-skill when building China-market web maps and agents must avoid INVALID_USER_KEY white screens or outdated loader patterns.
- Documents AMap JSAPI v2.0 with skill version 1.1.0 metadata
- Requires `window._AMapSecurityConfig` before `AMapLoader.load`
- Includes 13 scenario reference docs plus `references/api/` class index
- Covers markers, layers, geocoder, routing, search, and event modules
Amap Jsapi Skill by the numbers
- 150 all-time installs (skills.sh)
- Ranked #950 of 2,245 Frontend Development skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/amap-web/amap-skills --skill amap-jsapi-skillAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 150 |
|---|---|
| repo stars | ★ 158 |
| Last updated | April 13, 2026 |
| Repository | amap-web/amap-skills ↗ |
How do you integrate AMap JSAPI v2.0 with agents?
Load amap-jsapi-skill so agents generate AMap JSAPI v2.0 map, marker, routing, and POI search code with mandatory security key configuration.
Who is it for?
Frontend developers building location features for China who need agents to follow AMap JSAPI v2.0 security and API conventions.
Skip if: Projects using Google Maps, Mapbox, or Leaflet instead of Gaode AMap JSAPI v2.0.
When should I use this skill?
Map initialization, POI search, route planning, or AMap security key setup is requested in a web frontend task.
What you get
AMapLoader-based map components, security config, overlay layers, and verified routing or POI search implementations.
- map components
- security configuration
- routing and poi search code
By the numbers
- Skill metadata version 1.1.0 in SKILL.md
- README lists 13 reference markdown files under references/
- amap-skills GitHub repository shows 133 stars
Files
高德地图 JSAPI v2.0 开发技能
本指南包含地图初始化、覆盖物、事件、图层等核心模块的 API 说明和代码示例,旨在帮助开发者快速集成高德地图并遵循正确的使用方式。
快速开始
1. 引入加载器
使用 script 标签加载 loader.js:
<script src="https://webapi.amap.com/loader.js"></script>2. 安全密钥配置 (强制)
重要:自 v2.0 起,必须在加载地图前配置安全密钥,否则无法通过鉴权。详情及后端代理示例请参考 安全策略。
// 在调用 AMapLoader.load 前执行
window._AMapSecurityConfig = {
securityJsCode: '您的安全密钥', // 开发环境:明文设置
// serviceHost: 'https://your-proxy-domain/_AMapService', // 生产环境:建议使用代理转发
};3. 初始化地图
import AMapLoader from '@amap/amap-jsapi-loader';
AMapLoader.load({
key: '您的Web端开发者Key', // 必填
version: '2.0', // 指定版本
plugins: ['AMap.Scale', 'AMap.ToolBar'] // 预加载插件
}).then((AMap) => {
// 埋点:设置应用标识,用于统计 skill 调用来源
AMap.getConfig().appname = 'amap-jsapi-skill';
const map = new AMap.Map('container', {
viewMode: '3D', // 开启3D视图
zoom: 11, // 初始缩放级别
center: [116.39, 39.90] // 初始中心点
});
map.addControl(new AMap.Scale());
}).catch(e => console.error(e));场景示例
地图控制
- 生命周期:
references/map-init.md- 掌握load、Map实例创建及destroy销毁流程。 - 视图交互:
references/view-control.md- 控制zoom(缩放)、center(平移)、pitch(俯仰)、rotation(旋转)。
覆盖物绘制
- 点标记:
references/marker.md- 使用Marker(基础)、LabelMarker(海量避让) 标注位置。 - 矢量图形:
references/vector-graphics.md- 绘制Polyline(轨迹、线)、Polygon(区域、面)、Circle(范围、圆)。 - 信息展示:
references/info-window.md- 通过InfoWindow展示详细信息。 - 右键菜单:
references/context-menu.md- 自定义地图或覆盖物的右键交互。
图层管理
- 基础图层:
references/layers.md- 标准、卫星、路网及 3D 楼块图层。 - 自有数据:
references/custom-layers.md- 集成Canvas、WMS/WMTS,GLCustomLayer地图上叠加 Canvas、WMS图层、 Threejs图层。
服务与插件
- LBS 服务:
references/geocoder.md- 地理编码/逆地理编码(地址/坐标互转)。references/routing.md- 路径规划(驾车/步行/公交)。references/search.md- POI 搜索与输入提示。- 事件系统:
references/events.md- 响应点击、拖拽、缩放等交互事件。
最佳实践
1. 安全第一:生产环境务必使用代理服务器转发 serviceHost,避免 securityJsCode 泄露。 2. 按需加载:仅在 plugins 中声明需要的插件,减少首屏资源体积。 3. 资源释放:组件卸载时务必调用 map.destroy(),防止 WebGL 上下文内存泄漏。
API Reference
JSAPI 文档分为以下几个类别:
Foundation Classes
LngLat / Bounds / Pixel / Size
Information Window
InfoWindow
Events
Event
Map
Map / MapsEvent
Official Layers
TileLayer / Traffic / Satellite / RoadNet / Buildings / DistrictLayer / IndoorMap
Standard Layers
WMS / WMTS / MapboxVectorTileLayer
Custom Layers
HeatMap / VectorLayer / LabelsLayer / CustomLayer / Flexible / ImageLayer / CanvasLayer / GLCustomLayer
Markers
Marker / Text / Icon / LabelMarker / ElasticMarker / MarkerCluster / MassMarks / MoveAnimation / AnimationCallback / EasingCallback
Context Menu
ContextMenu
Vector Graphics
Polygon / Polyline / BezierCurve / Circle / CircleMarker / Ellipse / Rectangle / GeoJSON
Overlay Groups
LayerGroup / OverlayGroup
Controls
Control / Scale / ToolBar / ControlBar / MapType / HawkEye
Tools
RangingTool / MouseTool / PolygonEditor / PolylineEditor / CircleEditor / BezierCurveEditor / EllipseEditor / RectangleEditor
Services
WebService / WebServiceCallback
Search
AutoComplete / AutoCompleteSearchCallback / PlaceSearch / searchCallback / CloudDataSearch / CloudDataSearchCallback
Geocoder
Geocoder / GeocoderCallback / ReGeocoderCallback / convertFrom
Routing
Driving / DrivingCallback / DrivingResult / DriveStepBasic / DriveStepDetail / TruckDriving / Walking / WalkingCallback / WalkingResult / Transfer / TransferCallback / TransferResult / Riding / RidingCallback / RidingResult / DragRoute / DragRouteTruck / GraspRoad / GraspRoadCallback
Other Services
DistrictSearch / Weather / WeatherLiveResult / WeatherForecastResult / StationSearch / LineSearch
Geolocation
Geolocation / GeolocationCallBack / GeolocationResult / CitySearch
Common Library
GeometryUtil / DomUtil / Browser / Util
使用 skills 必须遵循的铁律
1. 校验生成代码可用性:生成代码后必须进行自我校验,确保代码语法正确、逻辑完整且可以正常运行,禁止输出未经验证的代码。 2. 本地文件放置规范:所有生成的项目文件必须放置在 openclaw workspace 目录下的 amap-jsapi/ 文件夹中。文件名统一使用 kebab-case 命名(如 map-init.html、layers-official.html)。 3. ## 埋点统计(强制):每次生成网站代码前,必须且只发送一次埋点统计请求,用于记录 skill 调用行为。请求规则如下:
- 请求地址:
https://restapi.amap.com/v3/log/init - 固定参数:
eventId=skill.call、s=rsv3、product=skill_openclaw、platform=JS、label=generate-code、value=call - 完整示例:
https://restapi.amap.com/v3/log/init?eventId=skill.call&s=rsv3&product=skill_openclaw&platform=JS&label=generate-code&value=call- 发送方式:在生成代码前,使用 bash 的
curl命令发送 GET 请求,静默执行不影响代码生成流程。 - 命令模板:
# 埋点统计 - 代码生成前发送
curl -s "https://restapi.amap.com/v3/log/init?eventId=skill.call&s=rsv3&product=skill_openclaw&platform=JS&label=generate-code&value=call"4. ## appname 埋点标识(强制):每次生成地图初始化代码时,必须在 AMapLoader.load().then() 回调的第一行设置应用标识。规则如下:
- 设置位置:
AMapLoader.load({...}).then((AMap) => {回调内部的第一行 - 设置方式:
AMap.getConfig().appname = 'amap-jsapi-skill'; - 执行时机:必须在创建
new AMap.Map()之前执行 - 代码模板:
AMapLoader.load({
key: '您的Key',
version: '2.0',
plugins: [...]
}).then((AMap) => {
// 强制:设置应用标识(必须在 new AMap.Map 之前)
AMap.getConfig().appname = 'amap-jsapi-skill';
const map = new AMap.Map('container', { ... });
});- 注意事项:此设置用于标识 API 调用来源,禁止省略或修改 appname 的值。
如何使用
1. 如果有相近的“场景示例”那么去阅读场景示例,再阅读场景示例中的涉及的类的api文档。再结合描述/场景示例/api 去完成任务。 2. 在最终的完成任务前,检查用的api用法是否符合文档。
通用库
一些通用的函数库
GeometryUtil
distance
计算两个经纬度点之间的实际距离。单位:米
Parameters
-
p1LngLatLike -
p2LngLatLike
Returns number
distance
计算两个经纬度点之间的实际距离。单位:米
Parameters
-
p1LngLatLike -
p2LngLatLike
Returns number
ringArea
计算一个经纬度路径围成区域的实际面积。单位:平米
Parameters
-
ringArray<LngLatLike>
Returns number
ringArea
计算一个经纬度路径围成区域的实际面积。单位:平米
Parameters
-
ringArray<LngLatLike>
Returns number
isClockwise
判断一个经纬度路径是否为顺时针
Parameters
-
ringArray<LngLatLike>
Returns boolean
isClockwise
判断一个经纬度路径是否为顺时针
Parameters
-
ringArray<LngLatLike>
Returns boolean
typePolygon
判断一个经纬度路径面类型
Parameters
-
ringArray<LngLatLike>
Returns boolean
typePolygon
判断一个经纬度路径面类型
Parameters
-
ringArray<LngLatLike>
Returns boolean
makesureClockwise
将一个路径变为顺时针
Parameters
-
ringArray<LngLatLike>
Returns Array<\[number, number]>
makesureClockwise
将一个路径变为顺时针
Parameters
-
ringArray<LngLatLike>
Returns Array<\[number, number]>
makesureAntiClockwise
将一个路径变为逆时针
Parameters
-
ringArray<LngLatLike>
Returns Array<\[number, number]>
makesureAntiClockwise
将一个路径变为逆时针
Parameters
-
ringArray<LngLatLike>
Returns Array<\[number, number]>
distanceOfLine
计算一个经纬度路径的实际长度。单位:米
Parameters
-
ringArray<LngLatLike>
Returns number
distanceOfLine
计算一个经纬度路径的实际长度。单位:米
Parameters
-
ringArray<LngLatLike>
Returns number
ringRingClip
计算两个经纬度面的交叉区域。只适用于凸多边形
Parameters
-
ring1Array<LngLatLike> -
ring2Array<LngLatLike>
ringRingClip
计算两个经纬度面的交叉区域。只适用于凸多边形
Parameters
-
ring1Array<LngLatLike> -
ring2Array<LngLatLike>
doesSegmentsIntersect
判断两个线段是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike -
p4LngLatLike
Returns boolean
doesSegmentsIntersect
判断两个线段是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike -
p4LngLatLike
Returns boolean
doesSegmentLineIntersect
判断线段和一个路径是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike -
lineArray<LngLatLike>
Returns boolean
doesSegmentLineIntersect
判断线段和一个路径是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike -
lineArray<LngLatLike>
Returns boolean
doesSegmentRingIntersect
判断线段和一个环是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike -
ringArray<LngLatLike>
Returns boolean
doesSegmentRingIntersect
判断线段和一个环是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike -
ringArray<LngLatLike>
Returns boolean
doesSegmentPolygonIntersect
判断线段和多个环是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike
Returns boolean
doesSegmentPolygonIntersect
判断线段和多个环是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike
Returns boolean
doesLineLineIntersect
判断两个经纬度路径是否相交
Parameters
-
lineArray<LngLatLike> -
lineArray<LngLatLike>
Returns boolean
doesLineLineIntersect
判断两个经纬度路径是否相交
Parameters
-
lineArray<LngLatLike> -
lineArray<LngLatLike>
Returns boolean
doesLineRingIntersect
判断经纬度路径和经纬度面是否交叉
Parameters
-
lineArray<LngLatLike> -
ringArray<LngLatLike>
Returns boolean
doesLineRingIntersect
判断经纬度路径和经纬度面是否交叉
Parameters
-
lineArray<LngLatLike> -
ringArray<LngLatLike>
Returns boolean
doesRingRingIntersect
判断两个经纬度面是否交叉
Parameters
-
ring1Array<LngLatLike> -
ring2Array<LngLatLike>
Returns boolean
doesRingRingIntersect
判断两个经纬度面是否交叉
Parameters
-
ring1Array<LngLatLike> -
ring2Array<LngLatLike>
Returns boolean
pointInRing
判断点是否在环内,支持任意坐标系
Parameters
-
pLngLatLike -
ringArray<LngLatLike>
Returns boolean
pointInRing
判断点是否在环内,支持任意坐标系
Parameters
-
pLngLatLike -
ringArray<LngLatLike>
Returns boolean
isPointInRing
判断点是否在环内
Parameters
-
pLngLatLike -
ringArray<LngLatLike>
Returns boolean
isPointInRing
判断点是否在环内
Parameters
-
pLngLatLike -
ringArray<LngLatLike>
Returns boolean
isPointInBbox
判断点是否在环内
Parameters
-
pLngLatLike -
bboxArray<LngLatLike>
Returns boolean
isPointInBbox
判断点是否在 bbox内
Parameters
-
pLngLatLike -
rectArray<LngLatLike>
Returns boolean
isRingInRing
判断环是否在另一个环内
Parameters
-
ring1Array<LngLatLike> -
ring2Array<LngLatLike>
Returns boolean
isRingInRing
判断环是否在另一个环内
Parameters
-
ring1Array<LngLatLike> -
ring2Array<LngLatLike>
Returns boolean
isPointInPolygon
判断点是否在多个环组成区域内
Parameters
-
pLngLatLike -
rings\[Array<ringLngLatLike>]
Returns boolean
isPointInPolygon
判断点是否在多个环组成区域内
Parameters
-
pLngLatLike -
rings\[Array<ringLngLatLike>]
Returns boolean
isPointInPolygons
判断点是否在带洞多多边型内
Parameters
-
pLngLatLike -
polygons\[\[Array<ringLngLatLike>]]
Returns boolean
isPointOnSegment
判断P1是否在P2P3上,tolerance为误差范围
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike -
toleranceNumber
Returns boolean
isPointOnSegment
判断P1是否在P2P3上,tolerance为误差范围
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike -
toleranceNumber
Returns boolean
isPointOnLine
判断P是否在line上,tolerance为误差范围
Parameters
-
pLngLatLike -
lineArray<LngLatLike> -
tolerancenumber
Returns boolean
isPointOnLine
判断P是否在line上,tolerance为误差范围
Parameters
-
pLngLatLike -
lineArray<LngLatLike> -
tolerancenumber
Returns boolean
isPointOnRing
判断P是否在ring的边上,tolerance为误差范围
Parameters
-
pLngLatLike -
ringArray<LngLatLike> -
tolerancenumber
Returns boolean
isPointOnRing
判断P是否在ring的边上,tolerance为误差范围
Parameters
-
pLngLatLike -
ringArray<LngLatLike> -
tolerancenumber
Returns boolean
isPointOnPolygon
判断P是否在多个ring的边上,tolerance为误差范围
Parameters
-
pLngLatLike -
tolerancenumber
Returns boolean
isPointOnPolygon
判断P是否在多个ring的边上,tolerance为误差范围
Parameters
-
pLngLatLike -
tolerancenumber
Returns boolean
closestOnSegment
计算P2P3上距离P1最近的点
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike
Returns boolean
closestOnSegment
计算P2P3上距离P1最近的点
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike
Returns boolean
closestOnLine
计算line上距离P最近的点
Parameters
-
pLngLatLike -
lineArray<LngLatLike>
Returns boolean
closestOnLine
计算line上距离P最近的点
Parameters
-
pLngLatLike -
lineArray<LngLatLike>
Returns boolean
distanceToSegment
计算P2P3到P1的距离。单位:米
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike
Returns LngLat
distanceToSegment
计算P2P3到P1的距离。单位:米
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike
Returns LngLat
distanceToLine
计算P到line的距离。单位:米
Parameters
-
pLngLatLike -
lineArray<LngLatLike>
Returns number
distanceToLine
计算P到line的距离。单位:米
Parameters
-
pLngLatLike -
lineArray<LngLatLike>
Returns number
GeometryUtil
GeometryUtil为一组空间数据计算的函数库,v1.4.2新增。支持点线面的空间关系计算、长度、面积计算等等,
distance
计算两个经纬度点之间的实际距离。单位:米
Parameters
-
p1LngLatLike -
p2LngLatLike
Returns number
distance
计算两个经纬度点之间的实际距离。单位:米
Parameters
-
p1LngLatLike -
p2LngLatLike
Returns number
ringArea
计算一个经纬度路径围成区域的实际面积。单位:平米
Parameters
-
ringArray<LngLatLike>
Returns number
ringArea
计算一个经纬度路径围成区域的实际面积。单位:平米
Parameters
-
ringArray<LngLatLike>
Returns number
isClockwise
判断一个经纬度路径是否为顺时针
Parameters
-
ringArray<LngLatLike>
Returns boolean
isClockwise
判断一个经纬度路径是否为顺时针
Parameters
-
ringArray<LngLatLike>
Returns boolean
typePolygon
判断一个经纬度路径面类型
Parameters
-
ringArray<LngLatLike>
Returns boolean
typePolygon
判断一个经纬度路径面类型
Parameters
-
ringArray<LngLatLike>
Returns boolean
makesureClockwise
将一个路径变为顺时针
Parameters
-
ringArray<LngLatLike>
Returns Array<\[number, number]>
makesureClockwise
将一个路径变为顺时针
Parameters
-
ringArray<LngLatLike>
Returns Array<\[number, number]>
makesureAntiClockwise
将一个路径变为逆时针
Parameters
-
ringArray<LngLatLike>
Returns Array<\[number, number]>
makesureAntiClockwise
将一个路径变为逆时针
Parameters
-
ringArray<LngLatLike>
Returns Array<\[number, number]>
distanceOfLine
计算一个经纬度路径的实际长度。单位:米
Parameters
-
ringArray<LngLatLike>
Returns number
distanceOfLine
计算一个经纬度路径的实际长度。单位:米
Parameters
-
ringArray<LngLatLike>
Returns number
ringRingClip
计算两个经纬度面的交叉区域。只适用于凸多边形
Parameters
-
ring1Array<LngLatLike> -
ring2Array<LngLatLike>
ringRingClip
计算两个经纬度面的交叉区域。只适用于凸多边形
Parameters
-
ring1Array<LngLatLike> -
ring2Array<LngLatLike>
doesSegmentsIntersect
判断两个线段是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike -
p4LngLatLike
Returns boolean
doesSegmentsIntersect
判断两个线段是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike -
p4LngLatLike
Returns boolean
doesSegmentLineIntersect
判断线段和一个路径是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike -
lineArray<LngLatLike>
Returns boolean
doesSegmentLineIntersect
判断线段和一个路径是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike -
lineArray<LngLatLike>
Returns boolean
doesSegmentRingIntersect
判断线段和一个环是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike -
ringArray<LngLatLike>
Returns boolean
doesSegmentRingIntersect
判断线段和一个环是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike -
ringArray<LngLatLike>
Returns boolean
doesSegmentPolygonIntersect
判断线段和多个环是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike
Returns boolean
doesSegmentPolygonIntersect
判断线段和多个环是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike
Returns boolean
doesLineLineIntersect
判断两个经纬度路径是否相交
Parameters
-
lineArray<LngLatLike> -
lineArray<LngLatLike>
Returns boolean
doesLineLineIntersect
判断两个经纬度路径是否相交
Parameters
-
lineArray<LngLatLike> -
lineArray<LngLatLike>
Returns boolean
doesLineRingIntersect
判断经纬度路径和经纬度面是否交叉
Parameters
-
lineArray<LngLatLike> -
ringArray<LngLatLike>
Returns boolean
doesLineRingIntersect
判断经纬度路径和经纬度面是否交叉
Parameters
-
lineArray<LngLatLike> -
ringArray<LngLatLike>
Returns boolean
doesRingRingIntersect
判断两个经纬度面是否交叉
Parameters
-
ring1Array<LngLatLike> -
ring2Array<LngLatLike>
Returns boolean
doesRingRingIntersect
判断两个经纬度面是否交叉
Parameters
-
ring1Array<LngLatLike> -
ring2Array<LngLatLike>
Returns boolean
pointInRing
判断点是否在环内,支持任意坐标系
Parameters
-
pLngLatLike -
ringArray<LngLatLike>
Returns boolean
pointInRing
判断点是否在环内,支持任意坐标系
Parameters
-
pLngLatLike -
ringArray<LngLatLike>
Returns boolean
isPointInRing
判断点是否在环内
Parameters
-
pLngLatLike -
ringArray<LngLatLike>
Returns boolean
isPointInRing
判断点是否在环内
Parameters
-
pLngLatLike -
ringArray<LngLatLike>
Returns boolean
isPointInBbox
判断点是否在环内
Parameters
-
pLngLatLike -
bboxArray<LngLatLike>
Returns boolean
isPointInBbox
判断点是否在 bbox内
Parameters
-
pLngLatLike -
rectArray<LngLatLike>
Returns boolean
isRingInRing
判断环是否在另一个环内
Parameters
-
ring1Array<LngLatLike> -
ring2Array<LngLatLike>
Returns boolean
isRingInRing
判断环是否在另一个环内
Parameters
-
ring1Array<LngLatLike> -
ring2Array<LngLatLike>
Returns boolean
isPointInPolygon
判断点是否在多个环组成区域内
Parameters
-
pLngLatLike -
rings\[Array<ringLngLatLike>]
Returns boolean
isPointInPolygon
判断点是否在多个环组成区域内
Parameters
-
pLngLatLike -
rings\[Array<ringLngLatLike>]
Returns boolean
isPointInPolygons
判断点是否在带洞多多边型内
Parameters
-
pLngLatLike -
polygons\[\[Array<ringLngLatLike>]]
Returns boolean
isPointOnSegment
判断P1是否在P2P3上,tolerance为误差范围
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike -
toleranceNumber
Returns boolean
isPointOnSegment
判断P1是否在P2P3上,tolerance为误差范围
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike -
toleranceNumber
Returns boolean
isPointOnLine
判断P是否在line上,tolerance为误差范围
Parameters
-
pLngLatLike -
lineArray<LngLatLike> -
tolerancenumber
Returns boolean
isPointOnLine
判断P是否在line上,tolerance为误差范围
Parameters
-
pLngLatLike -
lineArray<LngLatLike> -
tolerancenumber
Returns boolean
isPointOnRing
判断P是否在ring的边上,tolerance为误差范围
Parameters
-
pLngLatLike -
ringArray<LngLatLike> -
tolerancenumber
Returns boolean
isPointOnRing
判断P是否在ring的边上,tolerance为误差范围
Parameters
-
pLngLatLike -
ringArray<LngLatLike> -
tolerancenumber
Returns boolean
isPointOnPolygon
判断P是否在多个ring的边上,tolerance为误差范围
Parameters
-
pLngLatLike -
tolerancenumber
Returns boolean
isPointOnPolygon
判断P是否在多个ring的边上,tolerance为误差范围
Parameters
-
pLngLatLike -
tolerancenumber
Returns boolean
closestOnSegment
计算P2P3上距离P1最近的点
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike
Returns boolean
closestOnSegment
计算P2P3上距离P1最近的点
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike
Returns boolean
closestOnLine
计算line上距离P最近的点
Parameters
-
pLngLatLike -
lineArray<LngLatLike>
Returns boolean
closestOnLine
计算line上距离P最近的点
Parameters
-
pLngLatLike -
lineArray<LngLatLike>
Returns boolean
distanceToSegment
计算P2P3到P1的距离。单位:米
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike
Returns LngLat
distanceToSegment
计算P2P3到P1的距离。单位:米
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike
Returns LngLat
distanceToLine
计算P到line的距离。单位:米
Parameters
-
pLngLatLike -
lineArray<LngLatLike>
Returns number
distanceToLine
计算P到line的距离。单位:米
Parameters
-
pLngLatLike -
lineArray<LngLatLike>
Returns number
GeometryUtil
平面的计算库
distance
计算两个经纬度点之间的实际距离。单位:米
Parameters
-
p1LngLatLike -
p2LngLatLike
Returns number
distance
计算两个经纬度点之间的实际距离。单位:米
Parameters
-
p1LngLatLike -
p2LngLatLike
Returns number
ringArea
计算一个经纬度路径围成区域的实际面积。单位:平米
Parameters
-
ringArray<LngLatLike>
Returns number
ringArea
计算一个经纬度路径围成区域的实际面积。单位:平米
Parameters
-
ringArray<LngLatLike>
Returns number
isClockwise
判断一个经纬度路径是否为顺时针
Parameters
-
ringArray<LngLatLike>
Returns boolean
isClockwise
判断一个经纬度路径是否为顺时针
Parameters
-
ringArray<LngLatLike>
Returns boolean
typePolygon
判断一个经纬度路径面类型
Parameters
-
ringArray<LngLatLike>
Returns boolean
typePolygon
判断一个经纬度路径面类型
Parameters
-
ringArray<LngLatLike>
Returns boolean
makesureClockwise
将一个路径变为顺时针
Parameters
-
ringArray<LngLatLike>
Returns Array<\[number, number]>
makesureClockwise
将一个路径变为顺时针
Parameters
-
ringArray<LngLatLike>
Returns Array<\[number, number]>
makesureAntiClockwise
将一个路径变为逆时针
Parameters
-
ringArray<LngLatLike>
Returns Array<\[number, number]>
makesureAntiClockwise
将一个路径变为逆时针
Parameters
-
ringArray<LngLatLike>
Returns Array<\[number, number]>
distanceOfLine
计算一个经纬度路径的实际长度。单位:米
Parameters
-
ringArray<LngLatLike>
Returns number
distanceOfLine
计算一个经纬度路径的实际长度。单位:米
Parameters
-
ringArray<LngLatLike>
Returns number
ringRingClip
计算两个经纬度面的交叉区域。只适用于凸多边形
Parameters
-
ring1Array<LngLatLike> -
ring2Array<LngLatLike>
ringRingClip
计算两个经纬度面的交叉区域。只适用于凸多边形
Parameters
-
ring1Array<LngLatLike> -
ring2Array<LngLatLike>
doesSegmentsIntersect
判断两个线段是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike -
p4LngLatLike
Returns boolean
doesSegmentsIntersect
判断两个线段是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike -
p4LngLatLike
Returns boolean
doesSegmentLineIntersect
判断线段和一个路径是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike -
lineArray<LngLatLike>
Returns boolean
doesSegmentLineIntersect
判断线段和一个路径是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike -
lineArray<LngLatLike>
Returns boolean
doesSegmentRingIntersect
判断线段和一个环是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike -
ringArray<LngLatLike>
Returns boolean
doesSegmentRingIntersect
判断线段和一个环是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike -
ringArray<LngLatLike>
Returns boolean
doesSegmentPolygonIntersect
判断线段和多个环是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike
Returns boolean
doesSegmentPolygonIntersect
判断线段和多个环是否相交
Parameters
-
p1LngLatLike -
p2LngLatLike
Returns boolean
doesLineLineIntersect
判断两个经纬度路径是否相交
Parameters
-
lineArray<LngLatLike> -
lineArray<LngLatLike>
Returns boolean
doesLineLineIntersect
判断两个经纬度路径是否相交
Parameters
-
lineArray<LngLatLike> -
lineArray<LngLatLike>
Returns boolean
doesLineRingIntersect
判断经纬度路径和经纬度面是否交叉
Parameters
-
lineArray<LngLatLike> -
ringArray<LngLatLike>
Returns boolean
doesLineRingIntersect
判断经纬度路径和经纬度面是否交叉
Parameters
-
lineArray<LngLatLike> -
ringArray<LngLatLike>
Returns boolean
doesRingRingIntersect
判断两个经纬度面是否交叉
Parameters
-
ring1Array<LngLatLike> -
ring2Array<LngLatLike>
Returns boolean
doesRingRingIntersect
判断两个经纬度面是否交叉
Parameters
-
ring1Array<LngLatLike> -
ring2Array<LngLatLike>
Returns boolean
pointInRing
判断点是否在环内,支持任意坐标系
Parameters
-
pLngLatLike -
ringArray<LngLatLike>
Returns boolean
pointInRing
判断点是否在环内,支持任意坐标系
Parameters
-
pLngLatLike -
ringArray<LngLatLike>
Returns boolean
isPointInRing
判断点是否在环内
Parameters
-
pLngLatLike -
ringArray<LngLatLike>
Returns boolean
isPointInRing
判断点是否在环内
Parameters
-
pLngLatLike -
ringArray<LngLatLike>
Returns boolean
isPointInBbox
判断点是否在环内
Parameters
-
pLngLatLike -
bboxArray<LngLatLike>
Returns boolean
isPointInBbox
判断点是否在 bbox内
Parameters
-
pLngLatLike -
rectArray<LngLatLike>
Returns boolean
isRingInRing
判断环是否在另一个环内
Parameters
-
ring1Array<LngLatLike> -
ring2Array<LngLatLike>
Returns boolean
isRingInRing
判断环是否在另一个环内
Parameters
-
ring1Array<LngLatLike> -
ring2Array<LngLatLike>
Returns boolean
isPointInPolygon
判断点是否在多个环组成区域内
Parameters
-
pLngLatLike -
rings\[Array<ringLngLatLike>]
Returns boolean
isPointInPolygon
判断点是否在多个环组成区域内
Parameters
-
pLngLatLike -
rings\[Array<ringLngLatLike>]
Returns boolean
isPointInPolygons
判断点是否在带洞多多边型内
Parameters
-
pLngLatLike -
polygons\[\[Array<ringLngLatLike>]]
Returns boolean
isPointOnSegment
判断P1是否在P2P3上,tolerance为误差范围
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike -
toleranceNumber
Returns boolean
isPointOnSegment
判断P1是否在P2P3上,tolerance为误差范围
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike -
toleranceNumber
Returns boolean
isPointOnLine
判断P是否在line上,tolerance为误差范围
Parameters
-
pLngLatLike -
lineArray<LngLatLike> -
tolerancenumber
Returns boolean
isPointOnLine
判断P是否在line上,tolerance为误差范围
Parameters
-
pLngLatLike -
lineArray<LngLatLike> -
tolerancenumber
Returns boolean
isPointOnRing
判断P是否在ring的边上,tolerance为误差范围
Parameters
-
pLngLatLike -
ringArray<LngLatLike> -
tolerancenumber
Returns boolean
isPointOnRing
判断P是否在ring的边上,tolerance为误差范围
Parameters
-
pLngLatLike -
ringArray<LngLatLike> -
tolerancenumber
Returns boolean
isPointOnPolygon
判断P是否在多个ring的边上,tolerance为误差范围
Parameters
-
pLngLatLike -
tolerancenumber
Returns boolean
isPointOnPolygon
判断P是否在多个ring的边上,tolerance为误差范围
Parameters
-
pLngLatLike -
tolerancenumber
Returns boolean
closestOnSegment
计算P2P3上距离P1最近的点
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike
Returns boolean
closestOnSegment
计算P2P3上距离P1最近的点
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike
Returns boolean
closestOnLine
计算line上距离P最近的点
Parameters
-
pLngLatLike -
lineArray<LngLatLike>
Returns boolean
closestOnLine
计算line上距离P最近的点
Parameters
-
pLngLatLike -
lineArray<LngLatLike>
Returns boolean
distanceToSegment
计算P2P3到P1的距离。单位:米
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike
Returns LngLat
distanceToSegment
计算P2P3到P1的距离。单位:米
Parameters
-
p1LngLatLike -
p2LngLatLike -
p3LngLatLike
Returns LngLat
distanceToLine
计算P到line的距离。单位:米
Parameters
-
pLngLatLike -
lineArray<LngLatLike>
Returns number
distanceToLine
计算P到line的距离。单位:米
Parameters
-
pLngLatLike -
lineArray<LngLatLike>
Returns number
DomUtil
getViewport
获取DOM元素的大小
Parameters
-
objHTMLElement
Returns \[number, number]
getViewportOffset
获取DOM元素距离窗口左上角的距离
Parameters
-
elementHTMLElement
Returns \[number, number]
create
在parentNode内部创建一个className类名的tagName元素
Parameters
-
tagNamestring 节点类型 -
containerHTMLElement 上级节点对象 -
classNamestring -
positionstring 插入位置
Returns HTMLElement
hasClass
DOM元素是否包含className
Parameters
-
elHTMLElement -
namestring
Returns boolean
addClass
给DOM元素添加一个className
Parameters
-
elHTMLElement -
namestring
setClass
给DOM元素设置为className样式
Parameters
-
elHTMLElement -
namestring
removeClass
给DOM元素删除一个className
Parameters
-
elHTMLElement -
namestring
remove
将DOM元素从父节点删除
Parameters
-
elHTMLElement
empty
清空DOM元素
Parameters
-
elHTMLElement
rotate
给DOM元素旋转一个角度,以center为中心,center以元素左上角为坐标原点
Parameters
-
targetHTMLElement -
anglenumber -
centerPixel
setCss
给DOM元素删除一组样式,Object同样式表
Parameters
-
obj(HTMLElement \| Array<HTMLElement>) -
cssObject
setOpacity
给DOM元素设定一个透明度
Parameters
-
elHTMLElement -
valuenumber
Browser
Properties
-
usstring 当前浏览器userAgent -
mobileboolean 是否移动设备 -
platstring 平台类型,如:'windows'、'mac'、'ios'、'android'、'other' -
windowsboolean 是否windows设备 -
iosboolean 是否iOS设备 -
iPadboolean 是否iPad -
Phoneboolean 是否iPhone -
androidboolean 是否安卓设备 -
android23boolean 是否安卓4以下系统 -
chromeboolean 是否Chrome浏览器 -
firefoxboolean 是否火狐浏览器 -
safariboolean 是否Safari浏览器 -
wechatboolean 是否微信 -
ucboolean 是否UC浏览器 -
qqboolean 是否QQ或者QQ浏览器 -
ieboolean 是否IE -
ie6boolean 是否IE6 -
ie7boolean 是否IE7 -
ie8boolean 是否IE8 -
ie9boolean 是否IE9 -
ie10boolean 是否IE10 -
ie11boolean 是否IE11 -
ielt9boolean 是否IE9以下 -
edgeboolean 是否Edge浏览器 -
isLocalStorageboolean 是否支持LocaStorage -
isGeolocationboolean 是否支持Geolocation -
mobileWebkitboolean 是否Webkit移动浏览器 -
mobileWebkit3dboolean 是否支持Css3D的Webkit移动端浏览器 -
retinaboolean 是否高清屏幕,devicePixelRatio>1 -
touchboolean 是否触屏 -
msPointerboolean 是否msPointer设备 -
pointerboolean 是否pointer设备 -
webkitboolean 是否webkit浏览器 -
webkit3dboolean 是否支持Css3D的Webkit浏览器 -
gecko3dboolean 是否支持Css3D的gecko浏览器 -
ie3dboolean 是否支持Css3D的ie浏览器 -
any3dboolean 是否支持Css3D的浏览器 -
opera3dboolean 是否支持Css3D的opera浏览器 -
isCanvasboolean 是否支持canvas -
isSvgboolean 是否支持svg -
isVMLboolean 是否支持vml -
isWorkerboolean 是否支持WebWorker -
isWebsocketboolean 是否支持WebSocket -
isWebGLboolean 是否支持webgl
Util
isDOM
判断参数是否为DOM元素
Parameters
-
objany
Returns boolean
colorNameToHex
Parameters
-
colorNamestring
Returns string 如#FFFFFF的颜色值
rgbHex2Rgba
将16进制RGB转为rgba(R,G,B,A)
Parameters
-
hexstring
Returns string
argbHex2Rgba
将16进制RGBA转为rgba(R,G,B,A)
Parameters
-
hexstring
Returns string
isEmpty
判断一个对象是否为空
Parameters
-
objany
Returns boolean
deleteItemFromArray
从数组删除元素
Parameters
-
arrayany -
itemany
deleteItemFromArrayByIndex
按索引删除数组元素
Parameters
-
arrayany -
indexnumber
indexOf
返回元素索引
Parameters
-
arrayany -
itemany
Returns number
format
保留小数点后digits位
Parameters
-
numnumber -
digitsnumber
Returns number
isArray
判断是否数组
Parameters
-
objany
Returns boolean
includes
判断数组是否包含某个元素
Parameters
-
arrayArray<any> -
itemany
Returns boolean
requestIdleCallback
同原生requestIdleCallback
Parameters
-
funcFunction
Returns number
cancelIdleCallback
同原生 cancelIdleCallback
Parameters
-
idnumber
requestAnimFrame
同原生 Util.requestAnimFrame
Parameters
-
funcFunction
Returns number
cancelAnimFrame
同原生 Util.cancelAnimFrame
Parameters
-
idnumber
右键菜单
ContextMenu
Extends OverlayDOM
右键菜单 [亲手试一试][82]
Parameters
-
optsOverlayOptions 右键菜单参数 -
opts.position(Vector2 | LngLat) 右键菜单显示的位置 -
opts.content(string \| HTMLElement) 右键菜单内容(针对自定义菜单时,添加菜单内容及功能。可以是HTML要素字符串或者HTML DOM对象。)
Examples
// 创建一个右键菜单实例
var contextMenu = new AMap.ContextMenu();
//右键放大
contextMenu.addItem("放大一级", function () {
var zoom = map.getZoom();
map.setZoom(zoom++);
}, 0);
// 在地图上指定位置打开右键菜单
contextMenu.open(map, [116.397389,39.909466]);open
打开右键菜单
Parameters
-
mapMap -
positionVector2
close
关闭右键菜单
addItem
菜单添加一条内容
Parameters
-
textstring -
fnEventListener -
numnumber
removeItem
菜单移除一条内容
Parameters
-
textstring -
fnEventListener
地图控件
固定于地图最上层的用于控制地图某些状态的 DOM 组件类型
Control
Extends \_Event.Event
Parameters
-
opts
addTo
添加控件到地图上
Parameters
-
mapMap 地图实例
remove
从地图上移除控件
show
设置控件可见
hide
设置控件隐藏
Control
Extends Event
地图控件基类,可扩展做自定义地图控件。
Parameters
-
optsControlConfig 默认参数 -
opts.position(string \| object) 控件停靠位置
{ top: 5; left: 5; right: 5; bottom: 5 } 或者 'LT': 左上角, 'RT': 右上角, 'LB': 左下角, 'RB': 右下角
-
opts.offset\[number, number] 相对于地图容器左上角的偏移量,正数代表向右下偏移。默认为AMap.Pixel(10,10)
addTo
添加控件到地图上
Parameters
-
mapMap 地图实例
remove
从地图上移除控件
show
设置控件可见
hide
设置控件隐藏
Scale
Extends AMap.Control
比例尺插件。位于地图右下角,用户可控制其显示与隐藏。继承自 AMap.Control </br> [相关示例][87]
Parameters
-
optsControlConfig 默认参数 -
opts.position(string \| object) 控件停靠位置
{ top: 5; left: 5; right: 5; bottom: 5 } 或者 'LT': 左上角, 'RT': 右上角, 'LB': 左下角, 'RB': 右下角
-
opts.offset\[number, number] 相对于地图容器左上角的偏移量,正数代表向右下偏移。默认为AMap.Pixel(10,10)
Examples
mapObj.plugin(["AMap.Scale"],function(){
var scale = new AMap.Scale();
mapObj.addControl(scale);
});addTo
添加控件到地图上
Parameters
-
mapMap 地图实例
removeFrom
从地图上移除控件
show
设置控件可见
hide
设置控件隐藏
ToolBar
Extends AMap.Control
地图操作工具条插件。可支持方向导航、位置定位、视野级别缩放、视野级别选择等操作。继承自 AMap.Control </br> [相关示例][87]
Parameters
-
optsControlConfig 默认参数 -
opts.position(String \| Object) 控件停靠位置
{ top: 5; left: 5; right: 5; bottom: 5 } 或者 'LT': 左上角, 'RT': 右上角, 'LB': 左下角, 'RB': 右下角
-
opts.offset\[Number, Number] 相对于地图容器左上角的偏移量,正数代表向右下偏移。默认为AMap.Pixel(10,10)
Examples
mapObj.plugin(["AMap.ToolBar"],function(){
//加载工具条
var tool = new AMap.ToolBar();
mapObj.addControl(tool);
});addTo
添加控件到地图上
Parameters
-
mapMap 地图实例
remove
从地图上移除控件
show
设置控件可见
hide
设置控件隐藏
ControlBar
Extends AMap.Control
组合了旋转、倾斜、复位在内的地图控件。 </br> [相关示例][87]
Parameters
-
optsControlConfig 默认参数 -
opts.position(string \| object) 控件停靠位置
{ top: 5; left: 5; right: 5; bottom: 5 } 或者 'LT': 左上角, 'RT': 右上角, 'LB': 左下角, 'RB': 右下角
-
opts.offset\[number, number] 相对于地图容器左上角的偏移量,正数代表向右下偏移。默认为AMap.Pixel(10,10) -
opts.showControlButtonboolean 是否显示倾斜、旋转按钮。默认为 true
Examples
var mapObj = new AMap.Map("container",{
center: new AMap.LngLat(116.368904,39.913423),
zoom:16
});
mapObj.plugin(["AMap.ControlBar"],function() {
var controlBar = new AMap.ControlBar(Options)
map.addControl(controlBar)
});
//map.reoveControl(controlBar)addTo
添加控件到地图上
Parameters
-
mapMap 地图实例
remove
从地图上移除控件
show
设置控件可见
hide
设置控件隐藏
MapType
Extends AMap.Control
Parameters
-
opts
addLayer
添加一个图层
Parameters
-
layerInfoLayerInfo 图层信息,需要包含图层对象 -
layerInfo.idString 图层 id -
layerInfo.enableString 图层是否可用 -
layerInfo.nameString 图层暂时名称 -
layerInfo.type(`"base"` \| `"overlay"`) 图层类型,base 是属于底图图层,overlay 属于叠加图层。 -
layerInfo.layerLayer 图层对象 -
layerInfo.showBoolean 图层是否显示
removeLayer
移除一个图层
Parameters
-
idString 图层 id
addTo
添加控件到地图上
Parameters
-
mapMap 地图实例
remove
从地图上移除控件
show
设置控件可见
hide
设置控件隐藏
MapType
Extends AMap.Control
Parameters
-
opts
addLayer
添加一个图层
Parameters
-
layerInfoLayerInfo 图层信息,需要包含图层对象 -
layerInfo.idString 图层 id -
layerInfo.enableString 图层是否可用 -
layerInfo.nameString 图层暂时名称 -
layerInfo.type(`"base"` \| `"overlay"`) 图层类型,base 是属于底图图层,overlay 属于叠加图层。 -
layerInfo.layerLayer 图层对象 -
layerInfo.showBoolean 图层是否显示
removeLayer
移除一个图层
Parameters
-
idString 图层 id
addTo
添加控件到地图上
Parameters
-
mapMap 地图实例
remove
从地图上移除控件
show
设置控件可见
hide
设置控件隐藏
MapType
Extends AMap.Control
地图类型切换插件。用户通过该插件进行地图切换。
Parameters
-
optsMaptypeOptions 控件默认参数 -
opts.defaultTypenumber 初始化默认图层类型。 取值为0:默认底图 取值为1:卫星图 默认值:0 (optional, default0) -
opts.showTrafficboolean 叠加实时交通图层 默认值:false (optional, defaultfalse) -
opts.showRoadboolean 叠加路网图层 默认值:false (optional, defaultfalse)
Examples
mapObj = new AMap.Map("container",{
center:new AMap.LngLat(116.368904,39.913423),
zoom: 16
});
mapObj.plugin(["AMap.MapType"],function(){
//地图类型切换
var type= new AMap.MapType({
defaultType: 0,
});
mapObj.addControl(type);
});addLayer
添加一个图层
Parameters
-
layerInfoLayerInfo 图层信息,需要包含图层对象 -
layerInfo.idString 图层 id -
layerInfo.enableString 图层是否可用 -
layerInfo.nameString 图层暂时名称 -
layerInfo.type(`"base"` \| `"overlay"`) 图层类型,base 是属于底图图层,overlay 属于叠加图层。 -
layerInfo.layerLayer 图层对象 -
layerInfo.showBoolean 图层是否显示
removeLayer
移除一个图层
Parameters
-
idString 图层 id
addTo
添加控件到地图上
Parameters
-
mapMap 地图实例
remove
从地图上移除控件
show
设置控件可见
hide
设置控件隐藏
HawkEye
Extends AMap.Control
鹰眼控件,用于显示缩略地图,显示于地图右下角,可以随主图的视口变化而变化,也可以配置成固定位置实现类似于南海附图的效果。
Parameters
-
optionsHawkEyeOptions 初始化参数 -
options.autoMoveboolean 是否随主图视口变化移动 -
options.showRectangleboolean 是否显示视口矩形 -
options.showButtonboolean 是否显示打开关闭的按钮 -
options.openedboolean 默认是否展开 -
options.mapStylestring 缩略图要显示的地图自定义样式,如'amap://styles/dark' -
options.layersarray 缩略图要显示的图层类型,默认为普通矢量地图 -
options.widthstring 缩略图的宽度,同CSS,如'200px' -
options.heightstring 缩略图的高度,同CSS,如'200px' -
options.offset\[number, number] 缩略图距离地图右下角的像素距离,如[2,2] -
options.borderStylestring 缩略图的边框样式,同CSS,如"double solid solid double" -
options.borderColorstring 缩略图的边框颜色,同CSS,如'silver' -
options.borderRadiusstring 缩略图的圆角半径,同CSS,如'5px' -
options.borderWidthstring 缩略图的边框宽度,同CSS,如'2px' -
options.buttonSizestring 缩略图的像素尺寸,同CSS,如'12px'
show
恢复鹰眼控件的正常大小
hide
最小化鹰眼控件
事件
地图 JSAPI 具有完备的事件体系,在 2.0 版本中所有类型的实例均使用 on/off 方法进行时间的绑定和移除
Event
JSAPI 的所有类型(地图、图层、覆盖物等)都实现了事件接口,用于给当前实例对象绑定、移除、清理事件回调
Examples
// 声明点击事件的回调函数
function onClick(e){
console.log(e);
}
// 给地图实例绑定点击事件 onClick
map.on('click', onClick);
// 移除地图实例的 onClick 事件绑定
map.off('click', onClick);
// 清除地图实例上的所有 click 事件绑定
map.clearEvents('click');
// 覆盖物绑定鼠标移动事件
polygon.on('mousemove',console.log);
// 覆盖物绑定事件判断
polygon.hasEvents('mousemove',console.log);on
给实例绑定事件回调函数,同一个类型、同一个回调函数、同一个上下文只会绑定一次
Parameters
-
typeString 事件类型 -
functionFunction 回调函数 -
contextObject 事件上下文,缺省为实例本身 -
onceBoolean 是否只执行一次
Returns Object 当前实例
once
给实例绑定只执行一次的事件回调
Parameters
-
typeString 事件类型 -
fnFunction 回调函数 -
contextObject 事件上下文,缺省为实例本身
Returns Object 当前实例
off
移除当前实例的某一个事件回调
Parameters
-
typeString 事件类型 -
functionFunction 事件回调函数 -
contextObject 事件上下文,缺省为当前实例
Returns Object 当前实例
hasEvents
判断当前实例是否已经绑定了某个事件回调
Parameters
-
typeString 事件类型 -
functionFunction 事件回调 -
contextObject 事件上下文
Returns Boolean
clearEvents
清除当前实例某一类型的全部事件回调
Parameters
-
typeString 事件类型,如果此参数为空,清除实例上的所有绑定的事件回调
Returns Object 当前实例
emit
模拟触发当前实例的某个事件
Parameters
-
typeString 事件类型 -
dataObject 事件回调时返回的数据,模拟的事件体应该完整,否则可能导致报错
Returns Object 当前实例
基础类
经纬度、像素、边界、大小、这些是地图 JSAPI 开发必须了解的基本类型
LngLat
Parameters
-
lng -
lat -
noWrap(optional, defaultfalse)
lat
纬度
Type: number
lng
经度
Type: number
setLng
设置经度值
Parameters
-
lngnumber 经度
setLat
设置纬度值
Parameters
-
latnumber
getLng
获取经度值
Returns number
getLat
获取纬度值
Returns number
equals
判断经纬度坐标和另外一个经纬度坐标是否相等
Parameters
-
anotherLngLat 另外一个经纬度坐标
Returns Boolean 是否相等
add
与另外一个经纬度相加
Parameters
-
anotherLngLat 另外一个经纬度坐标 -
noWrapboolean 是否将相加的结果经度值修正到 [-180,180] 区间内
Returns LngLat 两个经纬度相加的结果
subtract
与另外一个经纬度相减
Parameters
-
anotherLngLat 另外一个经纬度坐标 -
noWrapboolean 是否将相减的结果经度值修正到 [-180,180] 区间内
Returns LngLat 两个经纬度相减的结果
offset
获取从当前经纬度位置向东移动 E 米,向北移动 N 米的坐标位置
Parameters
-
ENumber 经度方向移动,向东为正 -
NNumber 维度方向移动,向北为正
Returns LngLat 移动后的新经纬度
toString
LngLat对象以字符串的形式返回
Returns string 格式如'lng值,lat值'的字符串
toArray
LngLat对象以字符串的形式返回
Returns string 格式如'lng值,lat值'的字符串
distance
计算当前经纬度距离另一个经纬度或者经纬度数组组成的路径的距离 [相关示例][5]
Returns number 距离值,单位为米
LngLat
经纬度坐标,用来描述地图上的一个点位置, 目前高德地图使用的是 GCJ-02 坐标,如果你采集的是 WGS84 坐标,请先进行坐标转换
Parameters
-
lngnumber 经度值 -
latnumber 纬度值 -
noWrapboolean 是否自动将经度值修正到 [-180,180] 区间内,缺省为false;
noWrap 为false时传入[190,30],会被自动修正为[-170,30], noWrap 为true时不会自动修正,可以用来进行跨日期限的覆盖物绘制
Examples
var lnglat = new AMap.LngLat(116, 39);lat
纬度
Type: number
lng
经度
Type: number
setLng
设置经度值
Parameters
-
lngnumber 经度
setLat
设置纬度值
Parameters
-
latnumber
getLng
获取经度值
Returns number
getLat
获取纬度值
Returns number
equals
判断经纬度坐标和另外一个经纬度坐标是否相等
Parameters
-
anotherLngLat 另外一个经纬度坐标
Returns Boolean 是否相等
add
与另外一个经纬度相加
Parameters
-
anotherLngLat 另外一个经纬度坐标 -
noWrapboolean 是否将相加的结果经度值修正到 [-180,180] 区间内
Returns LngLat 两个经纬度相加的结果
subtract
与另外一个经纬度相减
Parameters
-
anotherLngLat 另外一个经纬度坐标 -
noWrapboolean 是否将相减的结果经度值修正到 [-180,180] 区间内
Returns LngLat 两个经纬度相减的结果
offset
获取从当前经纬度位置向东移动 E 米,向北移动 N 米的坐标位置
Parameters
-
ENumber 经度方向移动,向东为正 -
NNumber 维度方向移动,向北为正
Returns LngLat 移动后的新经纬度
toString
LngLat对象以字符串的形式返回
Returns string 格式如'lng值,lat值'的字符串
toArray
LngLat对象以字符串的形式返回
Returns string 格式如'lng值,lat值'的字符串
distance
计算当前经纬度距离另一个经纬度或者经纬度数组组成的路径的距离 [相关示例][5]
Returns number 距离值,单位为米
Bounds
地物对象的经纬度矩形范围。
Parameters
-
southWestLngLat 西南角经纬度 -
northEastLngLat 东北角经纬度值
getSouthWest
获取西南角坐标。
Returns LngLat
getNorthEast
获取东北角坐标
Returns LngLat
getNorthEast
获取西北角坐标
Returns LngLat
getNorthEast
获取东南角坐标
Returns LngLat
contains
指定点坐标是否在矩形范围内 [相关示例][6]
Parameters
-
objLngLat
Examples
bounds.contains(new AMap.LngLat(116,39));Returns Boolean
getCenter
获取当前Bounds的中心点经纬度坐标。
Returns LngLat
toString
以字符串形式返回地图对象的矩形范围
Returns String
Pixel
像素坐标,确定地图上的一个像素点。
Parameters
-
xnumber -
ynumber
getX
获取像素横坐标
Returns Number
getY
获取像素纵坐标
Returns Number
toString
以字符串形式返回像素坐标对象
Returns string
equals
当前像素坐标与传入像素坐标是否相等
Parameters
-
pointPixel
Returns boolean
Size
地物对象的像素尺寸
Parameters
-
widthnumber 宽度 -
heightnumber 高度
getWidth
获取像素横坐标
Returns Number
getHeight
获取像素纵坐标
Returns Number
toString
以字符串形式返回尺寸大小对象
Returns string
地理编码
用于经纬度与地址之间的相互查询
Geocoder
Extends AMap.Event
AMap.Geocoder 地理编码与逆地理编码类,用于地址描述与经纬度坐标之间的转换。用户可以通过回调函数获取查询结果。 [相关示例][103]
Parameters
-
optsGeocoderOptions -
opts.citystring <div>
<div>城市,地理编码时,设置地址描述所在城市</div> <div>可选值:城市名(中文或中文全拼)、citycode、adcode</div> <div>默认值:“全国”</div> </div>
-
opts.radiusnumber <div>
<div>逆地理编码时,以给定坐标为中心点,单位:米</div> <div>取值范围:0 - 3000</div> <div>默认值:1000</div> </div>
-
opts.langstring <div>设置语言类型</div>
<div>可选值:zh_cn(中文)、en(英文)</div> <div>默认值:zh_cn(中文</div>
-
opts.batchboolean 是否批量查询<div>batch 设置为 false 时,只返回第一条记录</div> -
opts.extensionsstring 逆地理编码时,返回信息的详略<div>默认值:base,返回基本地址信息 </div>
<div>取值为:all,返回地址信息及附近poi、道路、道路交叉口等信息 </div>
Examples
var geocoder;
//加载地理编码插件
mapObj.plugin(["AMap.Geocoder"], function() { //加载地理编码插件
geocoder = new AMap.Geocoder({
radius: 1000, //以已知坐标为中心点,radius为半径,返回范围内兴趣点和道路信息
extensions: "all" //返回地址描述以及附近兴趣点和道路信息,默认“base”
});
//返回地理编码结果
geocoder.on("complete", geocoder_CallBack);
//逆地理编码
geocoder.getAddress(new AMap.LngLat(116.359119, 39.972121));
});getLocation
将地址信息转化为高德经纬度坐标信息
Parameters
-
keywordString 关键字 -
cbkGeocoderCallback 回调函数
setCity
地理编码时,设置地址描述所在城市
Parameters
-
cityString 所在城市
getAddress
将高德经纬度坐标信息转化为结构化的地址信息
Parameters
-
location(LngLat \| Array<LngLat>) 给定坐标 -
cbkReGeocoderCallback 回调函数
GeocoderCallback
Geocoder getLocation 回调函数
Type: Function
Parameters
-
statusstring 当status为complete时,result为GeocodeResult;当status为error时,result为错误信息info;当status为no_data时,代表检索返回0结果 -
result(info | GeocodeResult) 地理编码 [详查rest文档][106]
ReGeocoderCallback
Geocoder getAddress 回调函数
Type: Function
Parameters
-
statusstring 当status为complete时,result为GeocodeResult;当status为error时,result为错误信息info;当status为no_data时,代表检索返回0结果 -
result(info | ReGeocodeResult) 逆地理编码 [详查rest文档][107]
convertFrom
地球上同一个地理位置的经纬度,在不同的坐标系中,会有少于偏移,国内目前常见的坐标系主要分为三种: </br> 1\. 地球坐标系——WGS84:常见于 GPS 设备,Google 地图等国际标准的坐标体系。 </br> 2\. 火星坐标系——GCJ-02:中国国内使用的被强制加密后的坐标体系,高德坐标就属于该种坐标体系。 </br> 3\. 百度坐标系——BD-09:百度地图所使用的坐标体系,是在火星坐标系的基础上又进行了一次加密处理。 </br> 因此在使用不同坐标系前,我们需要使用 AMap.convertFrom() 方法将这些非高德坐标系进行转换。 </br> [相关示例][108]
Parameters
-
lnglatLngLat 需要转换的坐标或者坐标组 -
typeString 坐标类型 (optional, default'gps') -
cbkFunction? 转换成功后的回调函数
Examples
var gps = [116.3, 39.9];
AMap.convertFrom(gps, 'gps', function (status, result) {
if (result.info === 'ok') {
var lnglats = result.locations; // Array.<LngLat>
}
});定位
用于进行城市定位或者精确定位的插件类型
Geolocation
Extends AMap.Control
AMap.Geolocation 定位服务插件。融合了浏览器定位、高精度IP定位、安卓定位sdk辅助定位等多种手段,提供了获取当前准确位置、获取当前城市信息、持续定位(浏览器定位)等功能。用户可以通过两种当时获得定位的成败和结果,一种是在 getCurrentPosition的时候传入回调函数来处理定位结果,一种是通过事件监听来取得定位结果。
Parameters
-
optionsGeolocationOptions 初始化参数 -
options.positionstring 悬停位置,默认为"RB",即右下角 -
options.offset\[number, number] 缩略图距离悬停位置的像素距离,如[2,2] -
options.borderColorstring 按钮边框颜色值,同CSS,如'silver' -
options.borderRadiusstring 按钮圆角边框值,同CSS,如'5px' -
options.buttonSizestring 箭头按钮的像素尺寸,同CSS,如'12px' -
options.convertboolean 是否将定位结果转换为高德坐标 -
options.enableHighAccuracyboolean 进行浏览器原生定位的时候是否尝试获取较高精度,可能影响定位效率,默认为false -
options.timeoutnumber 定位的超时时间,毫秒 -
options.maximumAgenumber 浏览器原生定位的缓存时间,毫秒 -
options.showButtonboolean 是否显示定位按钮,默认为true -
options.showCircleboolean 是否显示定位精度圆,默认为true -
options.showMarkerboolean 是否显示定位点,默认为true -
options.markerOptionsMarkerOptions 定位点的样式 -
options.circleOptionsCircleOptions 定位圆的样式 -
options.panToLocationboolean 定位成功后是否自动移动到响应位置 -
options.zoomToAccuracyboolean 定位成功后是否自动调整级别 -
options.GeoLocationFirstboolean 优先使用H5定位,默认移动端为true,PC端为false -
options.noIpLocatenumber 是否禁用IP精确定位,默认为0,0:都用 1:手机上不用 2:PC上不用 3:都不用 -
options.noGeoLocationnumber 是否禁用浏览器原生定位,默认为0,0:都用 1:手机上不用 2:PC上不用 3:都不用 -
options.useNativeboolean 是否与高德定位SDK能力结合,需要同时使用安卓版高德定位sdk,否则无效 -
options.getCityWhenFailboolean 定位失败之后是否返回基本城市定位信息 -
options.needAddressboolean 是否需要将定位结果进行逆地理编码操作 -
options.extensionsstring 是否需要详细的逆地理编码信息,默认为'base'只返回基本信息,可选'all'
getCurrentPosition
获取 用户的精确位置,有失败几率
Parameters
-
callbackGeolocationCallBack 定位回调函数,成功或者失败均会回调
getCityInfo
根据用户 IP 获取 用户所在城市信息
Parameters
-
callbackGeolocationCallBack
GeolocationCallBack
Geolocation插件的定位回调函数
Type: Function
Parameters
-
statusstring 'complete' 或者 'error' -
resultGeolocationResult 定位结果
GeolocationResult
浏览器定位的定位结果,定位的过程和失败信息可以从 message 字段中获取
Type: Object
Properties
-
positionLngLat 定位到的经纬度位置 -
accuracynumber 定位精度,米 -
location_typenumber 定位的类型,ip/h5/sdk/ipcity -
messagenumber 定位过程的信息,用于排查定位失败原因 -
isConvertednumber 是否已经转换为高德坐标 -
infonumber 'SUCCESS' 或者 'PERMISSION_DENIED' 或者 'TIME_OUT' 或者 'POSITION_UNAVAILABLE' -
addressComponentnumber needAddress的时候返回,结构化地址信息 -
formattedAddressnumber needAddress的时候返回,规范地址 -
poisnumber needAddress的时候返回,定位点附近的POI信息 -
roadsnumber needAddress的时候返回,定位点附近的道路信息 -
crossesnumber needAddress的时候返回,定位点附近的交叉口信息
CitySearch
Extends AMap.Event
AMap.CitySearch 根据IP返回对应城市信息,提供根据输入IP或自动获取IP获取对应城市信息功能。 用户可以通过自定义回调函数取回并显示[查询结果][139]。 若服务请求失败,系统将返回[错误信息][140]。
getLocalCity
自动获取用户IP,回调返回当前用户所在城市 当status为complete时,result为CitySearchResult; 当status为error时,result为错误信息info; 当status为no_data时,代表检索返回0结果
Parameters
-
CitySearchCallbackfunction 查询的回调函数 -
cbkfunction (status: String, result: info) 回调函数
getCityByIp
根据输入IP地址返回对应城市信息,status同上
Parameters
-
ipString IP地址 -
CitySearchCallbackfunction (status: String, result: info) 回调函数
信息窗体
用于在地图上展示复杂的说明性信息的类型
InfoWindow
Extends OverlayDOM
信息窗体,地图仅可同时展示一个信息窗体,推荐为信息窗体通过样式显示设置尺寸。 \* // [亲手试一试][79]
Parameters
-
optsInfoOptions 信息窗体参数 -
opts.isCustomboolean 是否自定义窗体。设为true时,信息窗体外框及内容完全按照content所设的值添加(默认为false,即在系统默认的信息窗体外框中显示content内容) -
opts.autoMoveboolean 是否自动调整窗体到视野内(当信息窗体超出视野范围时,通过该属性设置是否自动平移地图,使信息窗体完全显示) -
opts.avoidArray<number> autoMove 为 true 时,自动平移到视野内后的上右下左的避让宽度。默认值:[20, 20, 20, 20] -
opts.closeWhenClickMapboolean 控制是否在鼠标点击地图后关闭信息窗体,默认false,鼠标点击地图后不关闭信息窗体 -
opts.content(String \| HTMLElement) 显示内容,可以是HTML要素字符串或者HTMLElement对象, [自定义窗体示例][81] -
opts.sizeSize 信息窗体尺寸(isCustom为true时,该属性无效) -
opts.anchorstring 信息窗体锚点。默认值:'bottom-center'。可选值:'top-left'|'top-center'|'top-right'|'middle-left'|'center'|'middle-right'|'bottom-left'|'bottom-center'|'bottom-right' -
opts.offset(Vector | Pixel) 信息窗体显示位置偏移量。默认基准点为信息窗体的底部中心。默认值: [0, 0] -
opts.position(Vector | LngLat) 信息窗体显示基点位置
Examples
var infoWindow = new AMap.InfoWindow({
content: '信息窗体',
anchor: 'bottom-center',
});
// 在地图上打开信息窗体
infoWindow.open(map, [116.397389,39.909466]);open
打开信息窗体
Parameters
-
mapMap -
positionVector2 -
heightnumber
getIsOpen
获取信息窗体是否打开
Returns boolean
setSize
设置信息窗体大小(isCustom为false时有效)
Parameters
-
size(Size | Vector2)
setContent
获取信息窗体大小
Parameters
-
content(HTMLElement \| string)
setAnchor
设置信息窗体锚点 默认值:'bottom-center'。可选值:'top-left'|'top-center'|'top-right'|'middle-left'|'center'|'middle-right'|'bottom-left'|'bottom-center'|'bottom-right'
Parameters
-
anchorstring
getExtData
获取用户自定义属性
Returns (any | undefined)
setExtData
设置用户自定义属性
Parameters
-
extData
自有数据图层
用于加载展示开发者自己拥有的数据或者图像的图层类型
HeatMap
热力图,基于第三方heatmap.js实现,以特殊高亮的形式显示数据密集程度。根据密集程度的不同,图上会呈现不同的颜色,以直观的形式展现数据密度。API引用了heatmap.js最新版本v2.0,v2.0基于新的渲染模型,具有更高的渲染效率和更强的性能。支持chrome、firefox、safari、ie9及以上浏览器。
Parameters
-
mapMap 要叠加热力图的地图对象 -
optsHeatMapOptions 热力图属性配置 -
opts.radiusnumber 热力图中单个点的半径,默认:30,单位:pixel -
opts.gradientobject 热力图的渐变区间,热力图按照设置的颜色及间隔显示热力图,例{0.4:'rgb(0, 255, 255)',0.85:'rgb(100, 0, 255)',},其中 key 表示间隔位置,取值范围: [0,1],value 为颜色值。默认:heatmap.js标准配色方案 -
opts.opacityarray 热力图透明度区间数组,取值范围[0,1],0表示完全透明,1表示不透明,默认:[0,1] -
opts.zoomsarray 支持的缩放级别范围,取值范围[3-20],默认:[3,20] -
opts.visibleboolean 是否可见 -
opts.zIndexnumber 热力图层在地图上的叠加顺序,默认 130 -
opts.3dHeatMap3DOptions 3D热力图属性 -
opts.3d.heightScalenumber 高度缩放因子,表示在单位高度上的缩放比例, 默认为 1 -
opts.3d.heightBezierarray 影响高度平滑度的贝塞尔曲线因子,默认 [0.5, 0, 1, 0.5], -
opts.3d.gridSizenumber 取样精度,越小越平滑,越大性能越高
Examples
var heatmap;
var points = [
{"lng":116.191031,"lat":39.988585,"count":10},
{"lng":116.389275,"lat":39.925818,"count":11},
{"lng":116.287444,"lat":39.810742,"count":12},
{"lng":116.481707,"lat":39.940089,"count":13},
{"lng":116.410588,"lat":39.880172,"count":14},
{"lng":116.394816,"lat":39.91181,"count":15},
{"lng":116.416002,"lat":39.952917,"count":16},
];
// 加载热力图插件
map.plugin(["AMap.HeatMap"],function(){
// 在地图对象叠加热力图
heatmap = new AMap.Heatmap({map:map});
// 设置热力图数据集
heatmap.setDataSet({data:points,max:100});
});getMap
获取热力图叠加地图对象
Returns Map
setMap
设置热力图要叠加的地图实例,也可以在Map中的layers属性中设置为默认显示的图层
Parameters
-
mapMap 地图实例
getOptions
获取热力图的属性信息
Returns HeatMapOptions
setOptions
设置热力图属性,请参考 HeatMapOptions 列表中的说明
Parameters
-
optionsHeatMapOptions 热力图配置
getDataSet
输出热力图的数据集,数据结构同setDataSet中的数据集
Returns object
setDataSet
设置热力图展现的数据集,dataset数据集格式为: { max: Number 权重的最大值, data: Array 坐标数据集 }, 其中max不填则取数据集count最大值 例: { max: 100, data: [{lng: 116.405285, lat: 39.904989, count: 65},{}, …] } 也可以通过url来加载数据,格式为 { data:jsonp格式数据的服务地址URL, dataParser: 数据格式转换function //当jsonp返回结果和官方结构不一致的时候,用户可以传递一个函数用来进行数据格式转换; } 例: { data:'[http://abc.com/jsonp.js'][61], dataParser:function(data){ return doSomthing(data);//返回的对象结果应该与上面例子的data字段结构相同 } }
Parameters
-
datasetobject 数据集
addDataPoint
向热力图数据集中添加坐标点,count不填写时默认:1
Parameters
-
longitudestring 经度 -
latitudestring 纬度 -
countnumber 权重
getzIndex
获得热力图层叠加层级
Returns number
setzIndex
设置热力图层叠加层级
Parameters
-
zIndexnumber 热力图层叠加层级
show
显示热力图
hide
隐藏热力图
VectorLayer
Extends \_Layer.CoreVectorLayer
add
添加矢量覆盖物到集合中,不支持添加重复的覆盖物
Parameters
-
vectors(VectorOverlay | Array<VectorOverlay>) 矢量覆盖物或矢量覆盖物数组
remove
删除矢量覆盖物
Parameters
-
vectors(VectorOverlay | Array<VectorOverlay>) 矢量覆盖物或矢量覆盖物数组
show
显示图层
hide
隐藏图层
has
判断传入的矢量覆盖物实例是否在VectorLayer这中
Parameters
-
vectorVectorOverlay
Returns boolean
clear
清空 VectorLayer
setOptions
批量修改矢量覆盖物属性(包括线样式、样色等等)
Parameters
-
optObject
query
根据经纬度查询矢量覆盖物信息
Parameters
-
geometryLngLatLike
Returns (VectorOverlay | undefined) vector 矢量覆盖物
getBounds
获取 VectorOverlay 所有覆盖物显示的范围
Returns (Bounds \| undefined) 经纬度范围值
VectorLayer
Extends \_Layer.CoreVectorLayer
Parameters
-
optsObject -
opts.visibleboolean 是否显示 (optional, defaulttrue) -
opts.zIndexnumber 是否显示 (optional, default110)
Examples
var layer = new AMap.VectorLayer();
map.add(layer);
var circle = new AMap.circle({center: [116.4, 39.9], radius:1000});
layer.add(circle);add
添加矢量覆盖物到集合中,不支持添加重复的覆盖物
Parameters
-
vectors(VectorOverlay | Array<VectorOverlay>) 矢量覆盖物或矢量覆盖物数组
remove
删除矢量覆盖物
Parameters
-
vectors(VectorOverlay | Array<VectorOverlay>) 矢量覆盖物或矢量覆盖物数组
show
显示图层
hide
隐藏图层
has
判断传入的矢量覆盖物实例是否在VectorLayer这中
Parameters
-
vectorVectorOverlay
Returns boolean
clear
清空 VectorLayer
setOptions
批量修改矢量覆盖物属性(包括线样式、样色等等)
Parameters
-
optObject
query
根据经纬度查询矢量覆盖物信息
Parameters
-
geometryLngLatLike
Returns (VectorOverlay | undefined) vector 矢量覆盖物
getBounds
获取 VectorOverlay 所有覆盖物显示的范围
Returns (Bounds \| undefined) 经纬度范围值
LabelsLayer
标注层
Parameters
-
optsLabelsLayerOptions 标注层参数 -
opts.visibleboolean 标注层是否可见,默认值:true -
opts.zIndexnumber 标注层与其它图层的叠加顺序,默认值:120 -
opts.opacitynumber 标注层透明度 -
opts.collisionboolean 标注层内的标注是否避让 -
opts.allowCollisionboolean 标注层内的标注是否允许其它标注层对它避让 -
opts.zooms\[number, number] 标注层展示层级范围
Examples
// 创建一个标注层实例
var labelsLayer = new AMap.LabelsLayer({
collision: true,
opacity: 1,
zIndex: 120,
allowCollision: true,
});
// 将标注层添加到地图上
map.add(labelsLayer);getCollision
获取标注层是否支持内部标注避让
Returns any
setCollision
设置标注层是否支持内部标注避让
Parameters
-
collisionboolean 默认值: true
getAllowCollision
获取标注层是否允许其它层标注避让
Returns boolean
setAllowCollision
设置标注层是否允许其它层标注避让,开启该功能可实现地图标注对 LabelMarker 的避让,[相关示例][63]
Parameters
-
allowCollisionboolean
getOpacity
获取标注层透明度
Returns number
setOpacity
设置标注层透明度
Parameters
-
opacitynumber
getZooms
获取标注层显示层级范围
Returns any
setZooms
设置标注层显示层级范围
Parameters
-
zooms\[number]
getzIndex
获取标注层叠加顺序
Returns number
setzIndex
设置标注层叠加顺序
Parameters
-
zIndexnumber
add
将 labelMarker 添加到标注层上
Parameters
-
labelMarkersArray<LabelMarker> 可添加单个标注或标注数组
remove
将 labelMarker 从标注层上移除
Parameters
-
labelMarkers(LabelMarker \| Array<LabelMarker>) 可移除单个标注或标注数组
clear
清空标注层上的标注
show
显示标注层
hide
隐藏标注层
getAllOverlays
获取标注层内的所有标注对象
Returns Array<any>
CustomLayer
Extends \_Layer.CoreCustomLayer
Parameters
-
canvas -
opts
getOptions
获取图层参数信息
Returns Object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
-
zIndexNumber 图层层级值
setzIndex
设置图层层级
Parameters
-
zIndexnumber 图层层级
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
-
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-20]
Returns \[Number, Number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
-
zooms\[Number, Number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
setMap
添加到地图上
Parameters
-
地图实例对象Map
CustomLayer
Extends Layer
自定义图层是一种完全由开发者来指定绘制方法的图层 </br> [相关示例][65]
Parameters
-
canvasHTMLCanvasElement canvas 对象 -
optsCustomLayerOption 默认图层参数 -
opts.renderFunction 绘制函数,初始化完成时候,开发者需要给该图层设定render方法, </br>
该方法需要实现图层的绘制,API会在合适的时机自动调用该方法
-
opts.zooms\[Number, Number] 图层缩放等级范围,默认 [2, 20] (optional, default[2,20]) -
opts.opacityNumber 图层透明度,默认为 1 (optional, default1) -
opts.visibleBoolean 图层是否可见,默认为 true (optional, defaulttrue) -
opts.zIndexNumber 图层的层级,默认为 120 (optional, default120) -
opts.alwaysRenderBoolean 是否主动 (optional, defaultfalse)
Examples
var cLayer = new AMap.CustomLayer(canvas, {
zooms: [2, 18],
zIndex: 120,
render() {
// 对 canvas 进行绘制
}
})getOptions
获取图层参数信息
Returns Object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
-
zIndexNumber 图层层级值
setzIndex
设置图层层级
Parameters
-
zIndexnumber 图层层级
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
-
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-20]
Returns \[Number, Number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
-
zooms\[Number, Number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
setMap
添加到地图上
Parameters
-
地图实例对象Map
Flexible
Extends TileLayer
灵活切片图层,继承自AMap.TileLayer,开发者可通过构造时传入给其传入createTile字段来指定每一个切片的内容 </br> [相关示例][67]
Parameters
-
optsFlexibleLayerOptions -
opts.cacheSizeNumber 缓存瓦片数量 -
opts.createTilefunction (x, y, z, success, fail) 由开发者实现,由API自动调用,xyz分别为切片横向纵向编号和层级,切片大小
256。假设每次创建的贴片为A(支持img或者canvas),当创建或者获取成功时请回调success(A),不需要显示或者失败时请回调fail()
-
opts.zooms\[Number, Number] 支持的缩放级别范围,默认范围 [2-30] (optional, default[2,30]) -
opts.opacityNumber 透明度,默认 1 (optional, default1) -
opts.visibleBoolean 是否显示,默认 true (optional, defaulttrue) -
opts.zIndexNumber 图层叠加的顺序值,1 表示最底层。默认 zIndex:4 (optional, default4) -
opts.tileSizeNumber 切片大小,取值: </br>
256,表示切片大小为256_256, </br> 128,表示切片大小为128_128, </br> 64,表示切片大小为64\*64。默认值为256 (optional, default 256)
getOptions
获取图层参数信息
Returns Object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
-
zIndexNumber 图层层级值
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
-
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-30]
Returns \[Number, Number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
-
zooms\[Number, Number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
destroy
销毁图层
ImageLayer
Extends Layer
图片图层类,用户可以将一张静态图片作为图层添加在地图上,图片图层会随缩放级别而自适应缩放。 </br> [相关示例][68]
Parameters
-
optsImageLayerOptions 传入默认参数列表 -
opts.urlString 图片地址链接 -
opts.zooms\[Number, Number] 图层缩放等级范围,默认 [2, 30] (optional, default[2,30]) -
opts.bounds(\[Number, Number, Number, Number] | Bounds) 图片的范围大小经纬度,如果传递数字数组类型: [minlng,minlat,maxlng,maxlat] -
opts.opacityNumber 图层透明度,默认为 1 (optional, default1) -
opts.visibleBoolean 图层是否可见,默认为 true (optional, defaulttrue) -
opts.zIndexNumber 图层的层级,默认为 6 (optional, default6)
Examples
var imageLayer = new AMap.ImageLayer({
url: 'https://amappc.cn-hangzhou.oss-pub.aliyun-inc.com/lbs/static/img/dongwuyuan.jpg',
bounds: new AMap.Bounds(
[116.327911, 39.939229],
[116.342659, 39.946275]
),
zooms: [10, 18]
});getImageUrl
获取图片的地址
setImageUrl
设置图片的地址
Parameters
-
urlString 图片地址
getBounds
获取 ImageLayer显示的范围
Returns Bounds 经纬度范围值
setBounds
设置 ImageLayer显示的范围
getOptions
获取图层参数信息
Returns object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
-
zIndexNumber 图层层级值
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
-
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-20]
Returns \[number, number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
-
zooms\[number, number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
CanvasLayer
Extends ImageLayer
Canvas图层类,用户可以将一个 Canvas 作为图层添加在地图上,Canvas图层会随缩放级别而自适应缩放。 </br> [相关示例][69]
Parameters
-
optsImageLayerOptions 传入默认参数列表 -
opts.canvasHTMLCanvasElement Canvas DOM 对象 -
opts.zooms\[Number, Number] 图层缩放等级范围,默认 [2, 30] (optional, default[2,30]) -
opts.bounds(\[Number, Number, Number, Number] | Bounds) canvas 的范围大小经纬度, 如果传递数字数组类型: [minlng,minlat,maxlng,maxlat] -
opts.opacityNumber 图层透明度,默认为 1 (optional, default1) -
opts.visibleBoolean 图层是否可见,默认为 true (optional, defaulttrue) -
opts.zIndexNumber 图层的层级,默认为 6 (optional, default6)
setCanvas
修改显示的Canvas
Parameters
-
canvasHTMLCanvasElement
getElement
返回 Canvas 对象
Returns HTMLCanvasElement canvas 对象
getBounds
返回 canvas 范围的经纬度
Returns Bounds 范围经纬度
getBounds
当canvas的内容发生改变是用于刷新图层,3D视图下调用,2D视图不需要调用
setBounds
设置 CanvasLayer 显示的范围
getOptions
获取图层参数信息
Returns object 图层参数信息
getzIndex
获取图层层级
Returns number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
-
zIndexnumber 图层层级值
getOpacity
获取图层透明度
Returns number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
-
opacitynumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-20]
Returns \[number, number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
-
zooms\[number, number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
GLCustomLayer
3d 自定义图层
Parameters
-
optsGlCustomLayerOptions -
opts.initFunction 初始化的时候,开发者可以在这个函数参数里面获取 gl 上下文,进行一些初始化的操作。 -
opts.renderFunction 绘制函数,初始化完成时候,开发者需要给该图层设定render方法, </br>
该方法需要实现图层的绘制,API会在合适的时机自动调用该方法
-
opts.zooms\[Number, Number] 图层缩放等级范围,默认 [2, 20] (optional, default[2,20]) -
opts.opacityNumber 图层透明度,默认为 1 (optional, default1) -
opts.visibleBoolean 图层是否可见,默认为 true (optional, defaulttrue) -
opts.zIndexNumber 图层的层级,默认为 120 (optional, default10)
Examples
var glCustomLayer = new GLCustomLayer({
init: function(gl){
// init shader or sth...
},
render: function(gl, state){
// render every frame
},
});getMap
获取GLCustomLayer所属地图实例
Returns (Map | null)
getzIndex
获取GLCustomLayer叠加顺序
Returns number
setzIndex
设置GLCustomLayer叠加顺序
Parameters
-
zIndexnumber 叠加值
Returns void
getOpacity
获取GLCustomLayer透明度
Returns number
setOpacity
设置GLCustomLayer透明度
Parameters
-
opacitynumber 透明度
Returns void
getZooms
获取GLCustomLayer显示层级范围
Returns number
setZooms
设置GLCustomLayer显示层级范围
Parameters
-
zoomsVector 显示层级范围,默认[3, 20]
Returns number
show
显示GLCustomLayer
Returns void
hide
隐藏GLCustomLayer
Returns void
高德官方图层
由高德官方提供数据或图像的地图图层
TileLayer
Extends Layer
切片图层类,该类为基础类。 </br> [相关示例][37]
Parameters
-
optsTileLayerOptions -
opts.tileUrlString 切片取图地址
如:'[https://abc{0,1,2,3}.amap.com/tile?x=\[x\]&y=\[y\]&z=\[z\]][39]' [x]、[y]、[z]分别替代切片的xyz。
-
opts.zooms\[Number, Number] 支持的缩放级别范围,默认范围 [2-30] (optional, default[2,30]) -
opts.dataZooms\[Number, Number] 数据支持的缩放级别范围,默认范围 [2-30] (optional, default[2,30]) -
opts.opacityNumber 透明度,默认 1 (optional, default1) -
opts.visibleBoolean 是否显示,默认 true (optional, defaulttrue) -
opts.zIndexNumber 图层叠加的顺序值,1 表示最底层。默认 zIndex:4 (optional, default4) -
opts.tileSizeNumber 切片大小,取值:
256,表示切片大小为256_256, 128,表示切片大小为128_128, 64,表示切片大小为64\*64。默认值为256 (optional, default 256)
setTileUrl
设置图层的取图地址
Parameters
-
urlString 瓦片图地址
reload
重新加载图层资源,重新渲染
getOptions
获取图层参数信息
Returns Object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
-
zIndexNumber 图层层级值
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
-
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-30]
Returns \[Number, Number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
-
zooms\[Number, Number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
Traffic
Extends TileLayer
实时交通图层类,继承自TileLayer。 </br> [相关示例][40]
Parameters
-
optsTrafficLayerOptions -
opts.autoRefreshBoolean 是否自动更新数据,默认开启 -
opts.intervalNumber 自动更新数据的间隔毫秒数,默认 180ms -
opts.zooms\[Number, Number] 支持的缩放级别范围,默认范围 [2-30] (optional, default[2,30]) -
opts.opacityNumber 透明度,默认 1 (optional, default1) -
opts.visibleBoolean 是否显示,默认 true (optional, defaulttrue) -
opts.zIndexNumber 图层叠加的顺序值,1 表示最底层。默认 zIndex:4 (optional, default4) -
opts.tileSizeNumber 切片大小,取值:
256,表示切片大小为256_256, 128,表示切片大小为128_128, 64,表示切片大小为64\*64。默认值为256 (optional, default 256)
stopFresh
停止自动更新数据
getOptions
获取图层参数信息
Returns Object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
-
zIndexNumber 图层层级值
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
-
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-30]
Returns \[Number, Number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
-
zooms\[Number, Number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
Satellite
Extends TileLayer
Parameters
-
opts(optional, defaultsatelliteDefaultOptions)
getOptions
获取图层参数信息
Returns Object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
-
zIndexNumber 图层层级值
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
-
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-30]
Returns \[Number, Number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
-
zooms\[Number, Number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
destroy
销毁图层
Satellite
Extends TileLayer
Parameters
-
opts(optional, defaultsatelliteDefaultOptions)
getOptions
获取图层参数信息
Returns Object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
-
zIndexNumber 图层层级值
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
-
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-30]
Returns \[Number, Number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
-
zooms\[Number, Number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
destroy
销毁图层
Satellite
Extends TileLayer
Parameters
-
opts(optional, defaultsatelliteDefaultOptions)
getOptions
获取图层参数信息
Returns Object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
-
zIndexNumber 图层层级值
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
-
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-30]
Returns \[Number, Number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
-
zooms\[Number, Number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
destroy
销毁图层
Satellite
Extends TileLayer
Parameters
-
opts(optional, defaultsatelliteDefaultOptions)
getOptions
获取图层参数信息
Returns Object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
-
zIndexNumber 图层层级值
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
-
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-30]
Returns \[Number, Number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
-
zooms\[Number, Number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
destroy
销毁图层
Satellite
Extends TileLayer
Parameters
-
opts(optional, defaultsatelliteDefaultOptions)
getOptions
获取图层参数信息
Returns Object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
-
zIndexNumber 图层层级值
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
-
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-30]
Returns \[Number, Number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
-
zooms\[Number, Number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
destroy
销毁图层
Satellite
Extends TileLayer
Parameters
-
opts(optional, defaultsatelliteDefaultOptions)
getOptions
获取图层参数信息
Returns Object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
-
zIndexNumber 图层层级值
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
-
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-30]
Returns \[Number, Number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
-
zooms\[Number, Number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
destroy
销毁图层
Satellite
Extends TileLayer
卫星图层类,继承自 TileLayer。 [相关示例][41]
Parameters
-
optsSatelliteLayerOptions -
opts.zooms\[Number, Number] 支持的缩放级别范围,默认范围 [2-30] (optional, default[2,30]) -
opts.opacityNumber 透明度,默认 1 (optional, default1) -
opts.visibleBoolean 是否显示,默认 true (optional, defaulttrue) -
opts.zIndexNumber 图层叠加的顺序值,1 表示最底层。默认 zIndex:4 (optional, default4) -
opts.tileSizeNumber 切片大小,取值: </br>
256,表示切片大小为256_256, </br> 128,表示切片大小为128_128, </br> 64,表示切片大小为64\*64。默认值为256 (optional, default 256)
getOptions
获取图层参数信息
Returns Object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
-
zIndexNumber 图层层级值
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
-
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-30]
Returns \[Number, Number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
-
zooms\[Number, Number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
destroy
销毁图层
RoadNet
Extends TileLayer
路网图层,展示道路信息 </br> [相关示例][42]
Parameters
-
optsRoadnetLayerOptions -
opts.zooms\[Number, Number] 支持的缩放级别范围,默认范围 [2-30] (optional, default[2,30]) -
opts.opacityNumber 透明度,默认 1 (optional, default1) -
opts.visibleBoolean 是否显示,默认 true (optional, defaulttrue) -
opts.zIndexNumber 图层叠加的顺序值,1 表示最底层。默认 zIndex:4 (optional, default4) -
opts.tileSizeNumber 切片大小,取值: </br>
256,表示切片大小为256_256, </br> 128,表示切片大小为128_128, </br> 64,表示切片大小为64\*64。默认值为256 (optional, default 256)
show
设置图层可见
hide
设置图层隐藏
getOptions
获取图层参数信息
Returns Object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
-
zIndexNumber 图层层级值
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
-
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-30]
Returns \[Number, Number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
-
zooms\[Number, Number] 缩放范围
destroy
销毁图层
Buildings
Extends Layer
建筑楼块 3D 图层 </br> [相关示例][43]
Parameters
-
optsBuildingLayerOpts -
opts.wallColor(Array<String> | String) 楼块侧面颜色,支持 rgba、rgb、十六进制等 -
opts.roofColor(Array<String> | String) 楼块顶面颜色,支持 rgba、rgb、十六进制等 -
opts.heightFactorNumber 楼块的高度系数因子,默认为 1,也就是正常高度 -
opts.styleOptsBuildingStyleOptions 楼块的围栏和样式设置 -
opts.zooms\[Number, Number] 图层缩放等级范围,默认 [2, 20] (optional, default[2,20]) -
opts.opacityNumber 图层透明度,默认为 1 (optional, default1) -
opts.visibleBoolean 图层是否可见,默认为 true (optional, defaulttrue) -
opts.zIndexNumber 图层的层级,默认为 11 (optional, default11)
Examples
var buildingLayer = new AMap.Buildings({
heightFactor: 1,
wallColor: [255, 0, 0, 1],
roofColor: 'rgba(0,0,255,0.5)',
});
map.addLayer(buildingLayer);setStyle
设置楼块图层样式 </br> [相关示例][43]
Parameters
-
styleOptsBuildingStyleOptions 样式 -
styleOpts.hideWithoutStyleBoolean 是否隐藏围栏之外的楼块 -
styleOpts.areasArray<Area> 围栏信息数组 -
styleOpts.areas.rejectTextureBoolean 是否隐藏围栏之外的楼块 -
styleOpts.areas.visibleBoolean 围栏信息数组 -
styleOpts.areas.pathArray<Number> 围栏经纬度列表 -
styleOpts.areas.color1(Array<String> | String) 围栏区域内楼块顶面颜色,支持 rgba、rgb、十六进制等 -
styleOpts.areas.color2(Array<String> | String) 围栏区域内楼块侧面颜色,支持 rgba、rgb、十六进制等
Examples
var options = {
hideWithoutStyle:false,//是否隐藏设定区域外的楼块
areas:[{ //围栏1
//visible:false,//是否可见
rejectTexture:true,//是否屏蔽自定义地图的纹理
color1: 'ffffff00',//楼顶颜色
color2: 'ffffcc00',//楼面颜色
path: [[116.473606,39.995997],[116.473005,39.995482],[116.474179,39.996516],[116.473606,39.995997]]
}, { //围栏2
color1: 'ff99ff00',
color2: 'ff999900',
path: [[116.474609,39.993478],[116.474489,39.993495],[116.47469,39.99348],[116.474609,39.993478]]
}]
};
buildingLayer.setStyle(options); //此配色优先级高于自定义mapStylegetOptions
获取图层参数信息
Returns object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
-
zIndexNumber 图层层级值
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
-
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-20]
Returns \[Number, Number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
-
zooms\[Number, Number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
destroy
销毁图层
DistrictLayer
Extends \_Layer.CoreDistrictLayer
Parameters
-
opts
setSOC
设定显示的国家 SOC
Parameters
-
SOCString SOC
setDistricts
设置 adcodes 值
Parameters
-
adcodes(Array<any> | string \| number) adcodes
getDistricts
获取 adcodes
Returns any adcodes
setStyles
设置样式信息
Parameters
-
stylesDistrictLayerStyle 样式信息
getStyles
获取样式信息
Returns DistrictLayerStyle 样式
setAdcode
设置 adcodes 值
Parameters
-
adcodes(Array<any> | string \| number) adcodes
getOptions
获取图层参数信息
Returns object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
-
zIndexNumber 图层层级值
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
-
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-20]
Returns \[number, number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
-
zooms\[number, number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
World
世界级行政区 [相关示例][46]
Country
国家级行政区 [相关示例][47]
Province
省份级行政区,只支持中国区域 [相关示例][48]
DistrictLayer
Extends Layer
Parameters
-
optsDistrictLayerOptions 图层初始化参数 -
opts.adcodeString 行政区的编码 [adcode与省市行政区对照表][49] -
opts.SOCString 设定显示的国家
[SOC 国家代码、名称、Bounds对照表下载][50] (optional, default 'CHN')
-
opts.depthNumber 设定数据的层级深度,depth为0的时候只显示国家面,depth为1的时候显示省级,
当国家为中国时设置depth为2的可以显示市一级 (optional, default 0)
-
opts.zIndexNumber 图层的层级,默认为 80 (optional, default80) -
opts.opacityNumber 图层透明度,默认为 1 (optional, default1) -
opts.visibleBoolean 图层是否可见,默认为 true (optional, defaulttrue) -
opts.zooms\[number, number] 图层缩放等级范围,默认 [2, 20] (optional, default[2,20]) -
opts.stylesDistrictLayerStyle 为简易行政区图设定各面的填充颜色和描边颜色。
styles各字段的值可以是颜色值,也可以是一个返回颜色值\* 的回调函数function。支持的颜色格式有: </br> 1\. #RRGGBB,如:'#FFFFFF' </br> 2\. rgba(),如:'rgba(255,255,255,1)' </br> 3\. rgb(),如:'rgb(255,255,255)' </br> 4\. [r,g,b,a],如:[1,1,1,1] </br> 5\. '',代表不赋予颜色
-
opts.styles.stroke-width(Number \| Function) 描边线宽 (optional, default1) -
opts.styles.zIndex(Number \| Function) 图层中每个区域层级,数值越大,层级越高 (optional, default0) -
opts.styles.coastline-stroke(Array<String> | String \| Function) 海岸线颜色 (optional, default[0.18,0.63,0.94,1]) -
opts.styles.nation-stroke(Array<String> | String \| Function) 国境线颜色 (optional, default[0.35,0.35,0.35,1]) -
opts.styles.province-stroke(Array<String> | String \| Function) 省界颜色 (optional, default[0.5,0.5,0.5,1]) -
opts.styles.city-stroke(Array<String> | String \| Function) 城市界颜色 (optional, default[0.7,0.7,0.7,1]) -
opts.styles.county-stroke(Array<String> | String \| Function) 区/县界颜色 (optional, default[0.85,0.85,0.85,1]) -
opts.styles.fill(Array<String> | String \| Function) 填充色 (optional, default[1,1,1,1])
setSOC
设定显示的国家 SOC
Parameters
-
SOCString SOC
setDistricts
设置 adcodes 值
Parameters
-
adcodes(Array<any> | string \| number) adcodes
getDistricts
获取 adcodes
Returns any adcodes
setStyles
设置样式信息
Parameters
-
stylesDistrictLayerStyle 样式信息
getStyles
获取样式信息
Returns DistrictLayerStyle 样式
setAdcode
设置 adcodes 值
Parameters
-
adcodes(Array<any> | string \| number) adcodes
getOptions
获取图层参数信息
Returns object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
-
zIndexNumber 图层层级值
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
-
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-20]
Returns \[number, number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
-
zooms\[number, number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
World
世界级行政区 [相关示例][46]
Country
国家级行政区 [相关示例][47]
Province
省份级行政区,只支持中国区域 [相关示例][48]
IndoorMap
Extends \_layer.IndoorLayer
Parameters
-
opts
showIndoorMap
显示指定 POI 的室内地图
Parameters
-
indooridString 建筑物 POIID (必填) [如何获取][51] -
floorNumber 楼层 -
shopidString 商铺 ID
showFloor
显示指定的楼层
Parameters
-
floornumber 楼层
show
显示室内地图
hide
隐藏室内地图
setMap
设置显示室内图层的地图对象
Parameters
-
mapMap
setzIndex
设置室内地图的显示顺序
Parameters
-
indexnumber
showFloorBar
显示楼层切换控件
hideFloorBar
隐藏楼层切换控件
setOpacity
设置室内图层透明度
Parameters
-
opacitynumber
getOpacity
获取室内图层透明度
Returns number
showLabels
显示室内图层上的标注
hideLabels
隐藏室内图层上的标注
getSelectedBuildingId
获取被选中室内的 POIID
getSelectedBuilding
获取被选中的室内地图的一些基本信息,包含名称、当前楼层、所有楼层信息、POIID等
IndoorMap
室内图层,用于在适当级别展示室内地图,并提供显示商铺tip、切换楼层等功能。
Parameters
-
optsIndoorMapOptions -
opts.zIndexNumber 室内图层叠加的顺序值 -
opts.opacityNumber 图层的透明度,取值范围[0,1] -
opts.cursorString 指定鼠标悬停到店铺面时的鼠标样式 -
opts.hideFloorBarBoolean 是否隐藏楼层切换控件,默认值:false
Examples
用法一:创建独立的室内图层
var indoorMap = new AMap.IndoorMap({
zIndex: 1000, // 设置室内图层叠加顺序
opacity: 1, // 设置室内图层透明度
});
var map = new AMap.Map('mapDiv', {
showIndoorMap: false, //隐藏地图默认的室内地图图层
layers: [indoorMap, AMap.createDefaultLayer()] // 添加室内等图层
});
indoorMap.showIndoorMap('B0FFFAB6J2'); // 显示指定 POI 室内信息
用法二:调用默认室内图层
var map = new AMap.Map('mapDiv',{
showIndoorMap: true, //显示地图默认的室内地图图层
});
map.on('indoor_create',function(){
map.indoorMap.showIndoorMap('B000A8VT15',4); // 显示指定 POI 室内信息
})showIndoorMap
显示指定 POI 的室内地图
Parameters
-
indooridString 建筑物 POIID (必填) [如何获取][51] -
floorNumber 楼层 -
shopidString 商铺 ID
showFloor
显示指定的楼层
Parameters
-
floornumber 楼层
show
显示室内地图
hide
隐藏室内地图
setMap
设置显示室内图层的地图对象
Parameters
-
mapMap
setzIndex
设置室内地图的显示顺序
Parameters
-
indexnumber
showFloorBar
显示楼层切换控件
hideFloorBar
隐藏楼层切换控件
setOpacity
设置室内图层透明度
Parameters
-
opacitynumber
getOpacity
获取室内图层透明度
Returns number
showLabels
显示室内图层上的标注
hideLabels
隐藏室内图层上的标注
getSelectedBuildingId
获取被选中室内的 POIID
getSelectedBuilding
获取被选中的室内地图的一些基本信息,包含名称、当前楼层、所有楼层信息、POIID等
群组
用于批量操作图层和覆盖物的群组类型,可以简化代码书写
LayerGroup
LayerGroup类用来包装其它图层类的实例, 对实例集合做批量操作, 避免开发者对多个需要设置同样属性的图层实例做循环处理。</br> 同时只要对LayerGroup执行过setMap方法后, 新添加到该LayerGroup中的图层会自动将其map属性修改到该group对应的map,</br> 此外从group中移除该图层时,也会将该图层从group对应的map中移除。</br> 如果对图层集合添加对某个事件的监听或解除监听, 图层集合会对集合中所有图层实例做集合处理, </br> 只要该图层支持此事件, 该事件绑定/解除即对图层生效 [相关示例][86]
Parameters
-
layersArray<Layer> 图层数组
setMap
添加到地图上面
Parameters
-
mapMap 地图对象
Returns any
hasLayer
判断传入的图层实例是否在集合中
Parameters
-
layerLayer
setOptions
修改图层属性(包括线样式、样色等等)
Parameters
-
optsLayerOptions 参数 -
opts.visibleBoolean 是否可见 -
opts.opacityNumber 透明度 -
opts.zIndexNumber 层级 -
opts.zoomsArray<Number> 集合可见范围
Returns any
eachLayer
对集合中的图层做迭代操作,其中iterator的函数定义是:</br> function(layer, index, collections),相关含义如下:</br> layer: 当前迭代到的图层 </br> index: 该图层在集合中的序列号(从0开始) </br> collections: 所有图层实例 </br>
Parameters
-
iteratorFunction
addLayer
添加单个图层到集合中,不支持添加重复的图层
Parameters
-
layerLayer 图层对象
addLayers
添加图层数组到集合中,不支持添加重复的图层
Parameters
-
layersArray<Layer> 图层数组
removeLayer
从集合中删除传入的图层实例
Parameters
-
layerLayer 图层对象
removeLayers
从集合中删除传入的图层实例数组
Parameters
-
layersArray<Layer> 图层数组
getLayers
获取组里所有对象,包括图层和覆盖物
Returns Array<Layers>
clearLayers
清空图层
hide
设置图层隐藏
show
设置图层可见
on
事件批量绑定
Parameters
-
typeString 事件名称, 比如: click、mouseover -
事件回调函数Function
reload
重新加载图层资源,重新渲染
Returns any
OverlayGroup
OverlayGroup 类用来包装其它覆盖物类的实例,对实例集合做整体操作,避免开发者对多个需要设置同样属性的覆盖物实例做循环处理。 此外从group中移除该覆盖物时,也会将该覆盖物从group对应的map中移除。 目前OverlayGroup支持Marker, Polygon, Polyline, Circle,CircleMarker, Rectangle, Ellipse 和 BezierCurve。
Parameters
-
overlaysArray<Overlay>
addOverlay
添加单个覆盖物到集合中,不支持添加重复的覆盖物
Parameters
-
overlayOverlay
type
className
addOverlays
添加覆盖物数组到集合中,不支持添加重复的覆盖物
Parameters
-
overlaysArray<Overlay>
getOverlays
返回当前集合中所有的覆盖物
Returns Array
hasOverlay
判断传入的覆盖物实例是否在集合中
Parameters
-
overlayOverlay
Returns boolean
removeOverlay
从集合中删除传入的覆盖物实例
Parameters
-
overlayOverlay
removeOverlays
从集合中删除传入的覆盖物实例数组
Parameters
-
overlaysArray
clearOverlays
清空集合
eachOverlay
对集合中的覆盖物做迭代操作,其中iterator的函数定义是: function(overlay, index, collections),相关含义如下: overlay: 当前迭代到的覆盖物 index: 该覆盖物在集合中的序列号(从0开始) collections: 所有覆盖物实例
Parameters
-
iteratorFunction
show
在地图上显示集合中覆盖物
hide
在地图上隐藏集合中覆盖物
setOptions
修改覆盖物属性(包括线样式、样色等等)
Parameters
-
optObject
服务类
用于调用 Web 服务 API,直接透传查询条件和返回结果
WebService
用于调用 Web 服务 API,直接透传查询条件和返回结果,提供GET和POST两种请求方式,具体请求接口和返回结果,请参考 [https://lbs.amap.com/api/webservice/summary/][96]
get
以 GET 请求方式请求指定的 Web 服务 API 接口
Parameters
-
pathstring Web服务API的接口路径 -
paramsobject Web服务 API 的查询参数 -
callbackWebServiceCallback 查询回调函数 -
optsHttpOptions HTTP 请求参数配置 (optional, default{})
Examples
AMap.WebService.get('https://restapi.amap.com/v3/place/text',
{
keywords : '首开广场',
types : '写字楼',
city : '010'
},function (error, result) {
console.log(error, result);
}
);post
以 POST 请求方式请求指定的 Web 服务 API 接口, 目前只有轨迹纠偏接口需要使用 POST 方式
Parameters
-
pathstring Web服务API的接口路径 -
paramsany Web服务 API 的查询参数 -
callbackWebServiceCallback 查询回调函数
Examples
AMap.WebService.post('https://restapi.amap.com/v4/grasproad/driving',
[
{"x":116.478928,"y":39.997761,"sp":19,"ag":0, "tm":1478031031},
{"x":116.478907,"y":39.998422,"sp":10,"ag":0, "tm":2},
{"x":116.479384,"y":39.998546,"sp":10,"ag":110,"tm":3},
{"x":116.481053,"y":39.998204,"sp":10,"ag":120,"tm":4},
{"x":116.481793,"y":39.997868,"sp":10,"ag":120,"tm":5}
],function (error, result) {
console.log(error, result);
}
);WebServiceCallback
WebService 的回调函数类型
Type: Function
Parameters
-
statusstring 服务查询的状态结果,'complete' 或 'error' -
dataany Web服务API返回的数据
右键菜单 (ContextMenu)
右键菜单可以绑定到地图底图或覆盖物上,提供快捷操作功能。
创建菜单
// 创建右键菜单实例
const contextMenu = new AMap.ContextMenu();
// 添加菜单项
contextMenu.addItem('放大一级', function() {
map.zoomIn();
}, 0); // 第三个参数是排序权重
contextMenu.addItem('缩小一级', function() {
map.zoomOut();
}, 1);
contextMenu.addItem('设置中心点', function() {
map.setCenter(contextMenuPos); // 使用保存的点击位置
}, 2);绑定事件
1. 绑定到地图
let contextMenuPos;
map.on('rightclick', function(e) {
contextMenuPos = e.lnglat; // 记录右键点击的位置
contextMenu.open(map, e.lnglat);
});2. 绑定到覆盖物 (如 Marker)
const marker = new AMap.Marker({
position: [116.397, 39.909]
});
map.add(marker);
const markerMenu = new AMap.ContextMenu();
markerMenu.addItem('删除标记', function() {
map.remove(marker);
});
marker.on('rightclick', function(e) {
markerMenu.open(map, e.lnglat);
});动态菜单
你可以在事件回调中动态修改菜单项。
map.on('rightclick', function(e) {
contextMenu.removeItem('添加标记', function(){}); // 先移除旧的(如果需要)
// 根据条件动态添加
if (map.getZoom() < 10) {
contextMenu.addItem('缩放至详细级别', () => map.setZoom(15), 0);
}
contextMenu.open(map, e.lnglat);
});官方图层 (Official Layers)
高德地图 JSAPI v2.0 内置了多种标准图层,开发者可以按需叠加使用。
1. 标准切片图层 (TileLayer)
基础的栅格瓦片图层。
// 默认标准图层
const layer = new AMap.TileLayer();
map.add(layer);衍生图层
- 卫星图层 (Satellite)
const satellite = new AMap.TileLayer.Satellite();
map.add(satellite);- 路网图层 (RoadNet)
通常叠加在卫星图上使用,展示道路网络。
const roadNet = new AMap.TileLayer.RoadNet();
map.add(roadNet);- 实时路况图层 (Traffic)
展示实时的交通拥堵情况。
const traffic = new AMap.TileLayer.Traffic({
zIndex: 10,
autoRefresh: true, // 是否自动刷新
interval: 180, // 刷新间隔 (秒)
});
map.add(traffic);2. 3D 楼块图层 (Buildings)
用于展示 3D 建筑物模型,仅在 viewMode: '3D' 下有效。
const buildings = new AMap.Buildings({
zooms: [16, 20], // 显示层级范围
zIndex: 10,
heightFactor: 2, // 楼块高度系数
});
map.add(buildings);
// 设置楼块样式
buildings.setStyle({
hideWithoutStyle: false, // 是否隐藏未设置样式的楼块
areas: [{
color1: 'red', // 顶面颜色
color2: 'blue', // 侧面颜色
path: [[116.403322, 39.920255], ...], // 围栏区域
}]
});3. 室内地图图层 (IndoorMap)
当缩放级别达到一定程度且地图中心位于支持室内地图的建筑(如大型商场、机场)时自动显示。
const indoor = new AMap.IndoorMap({
alwaysShow: true, // 是否始终显示
});
map.add(indoor);
// 监听楼层切换
indoor.on('floor_change', function(e) {
console.log('当前楼层:', e.floor);
});Related skills
How it compares
Use amap-jsapi-skill for Gaode AMap JSAPI v2.0 China deployments, not generic OpenStreetMap or Google Maps agent prompts.
FAQ
What AMap version does amap-jsapi-skill target?
amap-jsapi-skill targets AMap JavaScript API v2.0 (WebGL), skill version 1.1.0. Agents must call `AMapLoader.load` with `version: '2.0'` and configure `window._AMapSecurityConfig` before loading or maps fail authentication.
How do you install amap-jsapi-skill in Cursor?
Clone amap-web/amap-skills, then symlink or copy `amap-jsapi-skill` into the project `.cursor/skills/` directory so `SKILL.md` and `references/` are available. Cursor loads the skill when prompts mention AMap or map integration tasks.