注册账号并申请Key
1. 首先,注册开发者账号,成为高德开放平台开发者 https://lbs.amap.com/api/javascript-api/guide/abc/prepare
2. 登陆之后,在进入「应用管理」 页面「创建新应用」
3. 为应用添加 Key,「服务平台」一项请选择「 Web 端 ( JSAPI ) 」
准备页面
1. 在页面添加 JS API 的入口脚本标签,并将其中「您申请的key值」替换为您刚刚申请的 key;
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值"></script>
2. 添加div
标签作为地图容器,同时为该div
指定id
属性;
<div id="container"></div>
3. 为地图容器指定高度、宽度;
#container {300px; height: 180px; }
4. 进行移动端开发时,请在head
内添加viewport
设置,以达到最佳的绘制性能;
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
5. 在完成如上准备工作之后便可以开始进行开发工作了,查看快速入门。
异步加载 JS API
上一节说明的是最基本的同步加载 JS API 的方式,如果您需要异步加载,比如通过appendChild
,或者通过require
等异步方式来加载,这时需要您需要先准备一个全局的回调函数作为 JS API 异步加载的回调函数,并将其函数名作为callback
参数添加在 JS API 的引用地址后面,此时要注意,回调函数应该在脚本请求发出之前进行声明。异步加载方式只有在回调之后,才能开始调用JSAPI的相关接口。比如
<script> window.onLoad = function(){ var map = new AMap.Map('container'); } var url = 'https://webapi.amap.com/maps?v=1.4.15&key=64856519773d3e62866f4f1b502841fc&callback=onLoad'; var jsapi = doc.createElement('script'); jsapi.charset = 'utf-8'; jsapi.src = url; document.head.appendChild(jsapi); </script>
按照「准备」篇完成页面准备工作之后就可以真正开始地图的开发工作了。
HELLO,AMAP!
简单创建一个地图只需要一行代码,构造参数中的container
为准备阶段添加的地图容器的id
:
var map = new AMap.Map('container');
创建的同时可以给地图设置中心点、级别、显示模式、自定义样式等属性:
var map = new AMap.Map('container', { zoom:11,//级别 center: [116.397428, 39.90923],//中心点坐标 viewMode:'3D'//使用3D视图 });
图层
默认情况下,地图只显示标准底图,如需要叠加别的图层,可以通过map.add
方法添加图层:
var map = new AMap.Map('container', { resizeEnable: true, center: [116.397428, 39.90923], zoom: 13 });
//实时路况图层
var trafficLayer = new AMap.TileLayer.Traffic({ zIndex: 10 }); map.add(trafficLayer);//添加图层到地图
也可以在地图初始化的时候通过layers
属性为地图设置多个图层:
var map = new AMap.Map('container', { center: [116.397428, 39.90923], layers: [//使用多个图层 new AMap.TileLayer.Satellite(), new AMap.TileLayer.RoadNet() ], zooms: [4,18],//设置地图级别范围 zoom: 13 });
地图 JS API 提供了标准、卫星、路网、路况、建筑等多个官方图层,同时也提供了加载第三方WMS、WMTS、XYZ等标准图层的接口,也提供了把一般的图片、Canvas、视频、热力等作为图层的能力,
点标记与矢量图形
JS API 提供了在地图之上绘制覆盖物的能力,比如点标记 Marker、文本标记 Text、圆点标记 CircleMarker。
添加点标记的方法非常简单,比如添加一个默认样式的Marker:
var marker = new AMap.Marker({ position:[116.39, 39.9]//位置 }) map.add(marker);//添加到地图
移除的方法如下:map.remove(marker)
也提供了绘制圆Circle、折线 Polyline、多边形 Polygon、椭圆 Ellipse、矩形 Rectangle、贝瑟尔曲线 BesizerCurve等矢量图形的能力,比如添加折线:
var lineArr = [ [116.368904, 39.913423], [116.382122, 39.901176], [116.387271, 39.912501], [116.398258, 39.904600] ]; var polyline = new AMap.Polyline({ path: lineArr, //设置线覆盖物路径 strokeColor: "#3366FF", //线颜色 strokeWeight: 5, //线宽 strokeStyle: "solid", //线样式 }); map.add(polyline);
事件功能与信息窗体
JS API 提供的Map、点标记、矢量图形的实例均支持事件,鼠标或者触摸操作均会触发相应的事件。我们通过给点标记绑定click
事件来简单了解事件系统和信息窗体的基本使用:
var infoWindow = new AMap.InfoWindow({ //创建信息窗体 isCustom: true, //使用自定义窗体 content:'<div>信息窗体</div>', //信息窗体的内容可以是任意html片段 offset: new AMap.Pixel(16, -45) }); var onMarkerClick = function(e) { infoWindow.open(map, e.target.getPosition());//打开信息窗体 //e.target就是被点击的Marker } var marker = new AMap.Marker({ position: [116.481181, 39.989792] }) map.add(marker); marker.on('click',onMarkerClick);//绑定click事件
JS API 的加载
JS API 支持多种加载方式,可以顺序加载也可以异步加载,同时也可以作为一般脚本资源被 RequireJS 等前端框架加载。
顺序同步加载
<script src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值"></script> <script type="text/javascript"> var map = new AMap.Map('container', { center:[117.000923,36.675807], zoom:11 }); </script>
异步加载
异步加载指的是为 JS API 指定加载的回调函数,在 JS API 的主体资源加载完毕之后,将自动调用该回调函数。回调函数应该声明在 JS API 入口文件引用之前,异步加载可以减少对其他脚本执行的阻塞,HTTPS 下我们也建议使用异步方式:
<script type="text/javascript"> window.init = function(){ var map = new AMap.Map('container', { center:[117.000923,36.675807], zoom:11 }); } </script> <script src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值&callback=init"></script>
或者
window.onLoad = function(){ var map = new AMap.Map('container'); } var url = 'https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值&callback=onLoad'; var jsapi = document.createElement('script'); jsapi.charset = 'utf-8'; jsapi.src = url; document.head.appendChild(jsapi);
使用 RequireJS 等加载
在使用 RequireJS 等前端框架时,JS API 应该被当作一般脚本资源,并使用上述异步方式进行加载,比如
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="chrome=1"> <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"> <style type="text/css"> body,html,#container{ 100%; height: 100%; margin: 0px } </style> <title>通过RequireJS加载</title> </head> <body> <div id="container" tabindex="0"></div> <script src="https://webapi.amap.com/js/require.js" data-main="./require-init"></script> </body> </html>
require-init.js
require.config({ paths: { "amap": "https://webapi.amap.com/maps?v=1.4.15&key=&callback=onAMapLoaded" } }); window.onAMapLoaded = function() { require(['initAMap'], function(mapIniter) { mapIniter.init(); }) } require(['amap'])
nitAMap.js
define(function() { var init = function() { var amap = new AMap.Map('container'); }; return { init: init }; });
插件的使用
JS API 提供了众多的插件功能,这些功能不会主动随着 JSAPI 主体资源下发,需要引入之后才能使用这些插件的功能。这些功能包括:
- 服务类,如:POI搜索 PlaceSearch、输入提示 AutoComplete、路线规划 Driving/Walker/Transfer/Riding/Truck、地理编码 Geocoder、公交线路 LineSearch、公交站点 StationSearch、天气查询 Weather等;
- 地图控件,如:缩放工具条 ToolBar、比例尺 Scale、定位按钮 Geolocation等;
- 矢量图形编辑工具,如折线/多边形编辑器 PolyEditor、圆形编辑器 CircleEditor等;
- 工具类,如鼠标绘制工具 MouseTool、测距工具 RangingTool等。
插件的使用流程
- 引入插件,支持按需异步加载和同步加载,可同时引入多个插件,
- 创建插件实例,非特殊情况需避免重复创建多个实例,复用同一个实例即可;
- 调用实例的方法,使用相关功能。
插件的引入
异步加载多个插件
AMap.plugin(['AMap.ToolBar','AMap.Driving'],function(){//异步同时加载多个插件 var toolbar = new AMap.ToolBar(); map.addControl(toolbar); var driving = new AMap.Driving();//驾车路线规划 driving.search(/*参数*/) });
插件列表
类名 |
类功能说明 |
---|---|
AMap.ElasticMarker |
灵活点标记,可以随着地图级别改变样式和大小的 Marker |
AMap.ToolBar |
工具条,控制地图的缩放、平移等 |
AMap.Scale |
比例尺,显示当前地图中心的比例尺 |
AMap.OverView |
鹰眼,显示缩略图 |
AMap.MapType |
图层切换,用于几个常用图层切换显示 |
AMap.Geolocation |
定位,提供了获取用户当前准确位置、所在城市的方法 |
AMap.AdvancedInfoWindow |
高级信息窗体,整合了周边搜索、路线规划功能 |
AMap.Autocomplete |
输入提示,提供了根据关键字获得提示信息的功能 |
AMap.PlaceSearch |
地点搜索服务,提供了关键字搜索、周边搜索、范围内搜索等功能 |
AMap.PlaceSearchLayer |
搜索结果图层类,将搜索结果作为图层展示 |
AMap.DistrictSearch |
行政区查询服务,提供了根据名称关键字、citycode、adcode 来查询行政区信息的功能 |
AMap.LineSearch |
公交路线服务,提供公交路线相关信息查询服务 |
AMap.StationSearch |
公交站点查询服务,提供途经公交线路、站点位置等信息 |
AMap.Driving |
驾车路线规划服务,提供按照起、终点进行驾车路线的功能 |
AMap.TruckDriving |
货车路线规划 |
AMap.Transfer |
公交路线规划服务,提供按照起、终点进行公交路线的功能 |
AMap.Walking |
步行路线规划服务,提供按照起、终点进行步行路线的功能 |
AMap.Riding |
骑行路线规划服务,提供按照起、终点进行骑行路线的功能 |
AMap.DragRoute |
拖拽导航插件,可拖拽起终点、途经点重新进行路线规划 |
AMap.ArrivalRange |
公交到达圈,根据起点坐标,时长计算公交出行是否可达及可达范围 |
AMap.Geocoder |
地理编码与逆地理编码服务,提供地址与坐标间的相互转换 |
AMap.CitySearch |
城市获取服务,获取用户所在城市信息或根据给定IP参数查询城市信息 |
AMap.IndoorMap |
室内地图,用于在地图中显示室内地图 |
AMap.MouseTool |
鼠标工具插件 |
AMap.CircleEditor |
圆编辑插件 |
AMap.PolyEditor |
折线、多边形编辑插件 |
AMap.MarkerClusterer |
点聚合插件 |
AMap.RangingTool |
测距插件,可以用距离或面积测量 |
AMap.CloudDataLayer |
云图图层,用于展示云图信息 |
AMap.CloudDataSearch |
云图搜索服务,根据关键字搜索云图点信息 |
AMap.Weather |
天气预报插件,用于获取未来的天气信息 |
AMap.RoadInfoSearch |
道路信息查询,已停止数据更新,反馈信息仅供参考 |
AMap.Hotspot |
热点插件,地图热点已默认开启,不用手动添加,由Map的 |
AMap.Heatmap |
热力图插件 |
使用 JS API 开发之前有几个基础类型需要了解一下,包括:
- 经纬度 AMap.LngLat
- 像素点 AMap.Pixel
- 像素尺寸 AMap.Size
- 经纬度矩形边界 AMap.Bounds
- 经纬度路径边界 AMap.ArrayBounds
经纬度 AMap.LngLat
格式
经纬度的有效范围为经度-180
度到+180
度,纬度大约-85
度到+85
度。
JS API 支持的经纬度的写法有两种,使用时经度在前,纬度在后
,推荐使用标准写法:
var position = new AMap.LngLat(116, 39);//标准写法 var position = [116, 39]; //简写 var map = new AMap.Center('conatiner',{ center:position })
使用经纬度类型可以进行一些简单的位置计算,比如点与点、点与线的距离,根据距离差计算另一个经纬度等
var lnglat1 = new AMap.LngLat(116, 39); var lnglat2 = new AMap.LngLat(117, 39); var distance = lnglat1.distance(lnglat2);//计算lnglat1到lnglat2之间的实际距离(m) var lnglat3 = lnglat1.offset(100,50)//lnglat1向东100m,向北50m的位置的经纬度
特别说明:
高德地图采用 GCJ-02 坐标系,即火星坐标系。与 GPS 坐标系,即 WGS-84 坐标系存在一定的偏移量,如果您采集到的坐标数据为GPS坐标,可以先通过AMap.ConvertFrom
进行坐标偏移后进行制图或者使用,才能够和高德的底图完全匹配。
像素点 AMap.Pixel
像素点由x
和y
两个分量组成,通常用来描述地图的容器坐标、地理像素坐标 (平面像素坐标)、点标记和信息窗体的的锚点等。使用方式如下:
var offset = new AMap.Pixel(-16,-30); var marker = new AMap.Marker({ offset:offset, icon:'xxx.png', }); map.add(marker);
像素尺寸 AMap.Size
像素尺寸由width
和height
两个分量构成,通常用来描述具有一定大小的对象,比如地图的尺寸,图标的尺寸等
var mapSize = map.getSize();//获取地图大小,返回的是地图容器的像素大小 var width = mapSize.width; var height = mapSize.height; var marker = new AMap.Marker({ position: [116.405467, 39.907761], icon: new AMap.Icon({ size: new AMap.Size(40, 50), //图标的大小 image: "https://webapi.amap.com/theme/v1.3/images/newpc/way_btn2.png", imageOffset: new AMap.Pixel(0, -60) }) }); map.add(marker)
经纬度矩形边界 AMap.Bounds
经纬度矩形边界为一个矩形的经纬度范围,用西南角和东北角的两个经纬度来描述,这两个经纬度分别代表边界的最小值和最大值。矩形经纬度边界通常用来描述:地图的当前边界、覆盖物的外包矩形边界、图片图层的覆盖范围等。比如构造一个新的Bounds对象来调成地图的边界范围:
var southWest = new AMap.LngLat(110,20); var northEast = new AMap.LngLat(120,30); var bounds = new AMap.Bounds(southWest, northEast); map.setBounds(bounds);
经纬度路径边界 AMap.ArrayBounds
3D视图下,由于地图的倾斜和旋转,由于地图边界已经不在是矩形边界,我们提供了ArrayBounds
来描述地图当前视口的边界范围,它使用一组经纬度路径来表述一个闭合的区域边界。ArrayBounds
提供了contains
方法可用来判断经纬度点是否在其内部。
var map = new AMap.Map('container',{ zoom:17, viewMode:'3D' }) var arrayBounds = map.getBounds(); var path = arrayBounds.bounds//经纬度的路径 var isPointInBounds = arrayBounds.contains(new AMap.LngLat(116, 39))//判断点是否在边界内
地图状态
地图状态包括地图中心点、缩放级别等内容。本章为您介绍设置 / 获取地图状态的常用方法,包括
- 设置 / 获取地图中心点和缩放级别的方法
- 根据覆盖物范围调整视野
- 常用方法列表
设置 / 获取地图中心点和级别
// 传入经纬度,设置地图中心点
var position = new AMap.LngLat(116, 39); // 标准写法
// 简写 var position = [116, 39];
map.setCenter(position);
// 获取地图中心点
var currentCenter = map.getCenter();
// 设置地图级别,级别为数字。 // PC上,参数zoom可设范围:[3,18]; // 移动端:参数zoom可设范围:[3,19] map.setZoom(13);
// 获取地图级别 var currentZoom = map.getZoom();
map.setZoomAndCenter(14, [116.205467, 39.907761]);
根据覆盖物范围调整视野
地图上覆盖物较多的情况下,如果需要保证所有覆盖物都在视野范围内, 需要将地图调整到合适的缩放等级和中心点,我们可以调用setFitView()
方法,以实现该效果。
// 创建一条折线覆盖物 var path = [ new AMap.LngLat("116.368904","39.913423"), new AMap.LngLat("116.382122","39.901176"), new AMap.LngLat("116.387271","39.912501"), new AMap.LngLat("116.398258","39.904600") ]; var polyline = new AMap.Polyline({ path: path, borderWeight: 2, // 线条宽度,默认为 1 strokeColor: 'red', // 线条颜色 lineJoin: 'round' // 折线拐点连接处样式 }); map.add(polyline); // 创建两个点标记 var marker1 = new AMap.Marker({ position: new AMap.LngLat(117.39, 39.9), // 经纬度对象,如 new AMap.LngLat(116.39, 39.9); 也可以是经纬度构成的一维数组[116.39, 39.9] title: '北京' }); var marker2 = new AMap.Marker({ position: new AMap.LngLat(118.39, 39.9), // 经纬度对象,如 new AMap.LngLat(116.39, 39.9); 也可以是经纬度构成的一维数组[116.39, 39.9] title: '北京' }); map.add(marker1); map.add(marker2); // 自动适配到合适视野范围 // 无参数,默认包括所有覆盖物的情况 map.setFitView(); // 传入覆盖物数组,仅包括polyline和marker1的情况 map.setFitView([polyline,marker1]);
常用方法列表
下表所列为常用设置 / 获取地图状态方法,更多详情请查看Map类的全部方法
方法 |
说明 |
---|---|
getZoom( ) |
获取当前地图缩放级别,在PC上,默认取值范围为[3,18];在移动设备上,默认取值范围为[3-19]。3D地图会返回浮点数,2D视图为整数。 |
setZoom(level:Number) |
设置地图显示的缩放级别,在PC上,参数zoom可设范围:[3,18];在移动端:参数zoom可设范围:[3,19]。3D地图下,可将zoom设置为浮点数。 |
getCenter( ) |
获取地图中心点经纬度坐标值。 |
setCenter(position: LngLat) |
设置地图显示的中心点。 |
setZoomAndCenter(zoomLevel:Number,center:LngLat) |
地图缩放至指定级别并以指定点为地图显示中心点。 |
getBounds( ) |
获取当前地图视图范围。3D地图下返回类型为AMap.ArrayBounds,2D地图下仍返回AMap.Bounds 。 |
setBounds(bound:Bounds) |
指定当前地图显示范围,参数bounds为指定的范围。 |
getCity(callback:function(result)) |
获取地图中心点所在区域,回调函数返回对象属性分别对应为{省,市,区/县}。 |
setCity(city:String,callback:Functon) |
按照行政区名称或adcode来设置地图显示的中心点。行政区名称支持中国、省、市、区/县名称,如遇重名的情况,会按城市编码表顺序返回第一个。adcode请在城市编码表中查询。建议不要同时使用center/setCenter()和setCity(),如一起使用程序将以setCity()作为最后结果。 |
panTo(positon:LngLat) |
地图中心点平移至指定点位置。 |
setStatus(status:Object) |
设置当前地图显示状态,包括是否可鼠标拖拽移动地图、地图是否可缩放、地图是否可旋转(rotateEnable)、是否可双击放大地图、是否可以通过键盘控制地图旋转(keyboardEnable)等。 |
覆盖物/图层管理
添加 / 获取 / 移除覆盖物
添加覆盖物
覆盖物有多种类型,包括点标记、矢量图形、信息窗体等,均可以使用add
方法添加。
// 构造点标记 var marker = new AMap.Marker({ icon: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png", position: [116.405467, 39.907761] }); // 构造矢量圆形 var circle = new AMap.Circle({ center: new AMap.LngLat("116.403322", "39.920255"), // 圆心位置 radius: 1000, //半径 strokeColor: "#F33", //线颜色 strokeOpacity: 1, //线透明度 strokeWeight: 3, //线粗细度 fillColor: "#ee2200", //填充颜色 fillOpacity: 0.35 //填充透明度 }); // 将以上覆盖物添加到地图上 // 单独将点标记添加到地图上 map.add(marker); // add方法可以传入一个覆盖物数组,将点标记和矢量圆同时添加到地图上 map.add([marker,circle]);
获取覆盖物
可以使用getAllOverlays(type)
方法获取已经添加的覆盖物。其中type参数类型包括marker、circle、polyline、polygon,缺省是返回以上所有类型所有覆盖物。
// 获取已经添加的覆盖物 map.getAllOverlays(); // 获取已经添加的marker map.getAllOverlays('marker');
移除覆盖物
// 使用remove方法移除覆盖物,参数可以为单个覆盖物对象,也可以是一个包括多个覆盖物的数组 // 单独移除点标记 map.remove(marker); // 同时移除点标记和矢量圆形 map.remove([marker,circle]); // 使用clearMap方法删除所有覆盖物 map.clearMap();
地图的交互与事件
地图事件
地图事件是对 Map 底图操作后触发的事件,事件回调中返回 MapsEvent
对象。该对象包含触发的对象目标、触发所在经纬度等信息。
map.on('click', function(ev) { // 触发事件的对象 var target = ev.target; // 触发事件的地理坐标,AMap.LngLat 类型 var lnglat = ev.lnglat; // 触发事件的像素坐标,AMap.Pixel 类型 var pixel = ev.pixel; // 触发事件类型 var type = ev.type; });
点标记
点标记 Marker
// 创建一个 Marker 实例: var marker = new AMap.Marker({ position: new AMap.LngLat(116.39, 39.9), // 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9] title: '北京' }); // 将创建的点标记添加到已有的地图实例: map.add(marker); // 移除已创建的 marker map.remove(marker);
也可以一次添加多个点标记到地图实例(其它覆盖物均可使用此方式):
// 多个点实例组成的数组 var markerList = [marker1, marker2, marker3]; map.add(markerList);
自定义图标标记
如需要自定义点标记内容,可以在创建 Marker 实例的时候,设置 icon 参数来实现。具体可通过以下两种方式:
1. 为创建的 Marker 指定自定义图标 URL :
var marker = new AMap.Marker({ position: new AMap.LngLat(116.39,39.9), offset: new AMap.Pixel(-10, -10), icon: '//vdata.amap.com/icons/b18/1/2.png', // 添加 Icon 图标 URL title: '北京' }); map.add(marker);
2. 为创建的 Marker 指定 Icon 实例。此种方式可以设置图标大小,偏移等属性,比单纯设置 URL 更加灵活。创建方式如下
// 创建 AMap.Icon 实例: var icon = new AMap.Icon({ size: new AMap.Size(40, 50), // 图标尺寸 image: '//webapi.amap.com/theme/v1.3/images/newpc/way_btn2.png', // Icon的图像 imageOffset: new AMap.Pixel(0, -60), // 图像相对展示区域的偏移量,适于雪碧图等 imageSize: new AMap.Size(40, 50) // 根据所设置的大小拉伸或压缩图片 }); // 将 Icon 实例添加到 marker 上: var marker = new AMap.Marker({ position: new AMap.LngLat(116.405467, 39.907761), offset: new AMap.Pixel(-10, -10), icon: icon, // 添加 Icon 实例 title: '北京', zoom: 13 }); map.add(marker);
或者向已创建好的 Marker 添加 Icon:
marker.setIcon(icon);
三. 自定义内容标记
对于更加复杂的 marker 展示,我们可以使用 Marker类 的 content 属性。content 属性取值为用户自定义的 DOM 节点或者 DOM 节点的 HTML 片段。content 属性比 icon 属性更加灵活,设置了 content 以后会覆盖 icon 属性。具体实例如下:
var content = '<div class="marker-route marker-marker-bus-from"></div>'; var marker = new AMap.Marker({ content: content, // 自定义点标记覆盖物内容 position: [116.397428, 39.90923], // 基点位置 offset: new AMap.Pixel(-17, -42) // 相对于基点的偏移位置 }); map.add(marker);
四. 自定义点标记的锚点位置
如果用户自定义点标记内容,无论是自定义 Icon 还是 自定义内容,都需要为定义的图片重新设置锚点位置。设置方法如下:
1.设置 anchor (自 v1.4.13 新增属性)
通过 anchor 可以方便的设置锚点方位。anchor 可选值有 'top-left'、'top-center'、'top-right'、'middle-left'、'center'、'middle-right'、'bottom-left'、'bottom-center'、'bottom-right' , 分别代表了点标记锚点的不同方位。
var marker = new AMap.Marker({ icon: '//a.amap.com/jsapi_demos/static/demo-center/marker/marker-bottom-left.png', // 自定义点标记 position: [116.418481,39.90833], // 基点位置 offset: new AMap.Pixel(0,0), // 设置点标记偏移量 anchor:'bottom-left', // 设置锚点方位 }); map.add(marker);
圆形标记 CircleMarker
构造一个圆形覆盖物,v1.4.3版本新增类。可直接满足创建圆形标注的需要。
AMap.CircleMarker 类与下一章介绍到的 AMap.Circle 类均为在地图上绘制圆形覆盖物的方法。这两类的根本不同在于 AMap.Circle 为矢量图形类,随地图的缩放会改变大小;而 AMap.CircleMarker 类则不会随图面缩放而改变。
文本标记 Text
纯文本标记,v1.4.2版本新增类。文本标记的展示内容为纯文本。继承自 Marker 类,具有 Marker 的大部分属性、方法和事件。
点标记事件
点标记支持 click, mouseover 等多种事件。点标记事件的添加和移除和支持的所有事件类型,
清除所有的覆盖物map.clearMap();