第1行: | 第1行: | ||
{{jspopularLiteV1-sidebar}} | {{jspopularLiteV1-sidebar}} | ||
− | <div class="bluetitle"><div class=" | + | <div class="bluetitle"><div class="serve-explain-text"><div class="service-page-anchor"><span>简介</span></div></div></div><div class="serve-explain-text"> |
所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动。 本节重点介绍一下如何向地图添加标注,以及与地图相关的一些交互。<br/><span style="color:#FF0000;">请参考文档最后扫描二维码体验~</span> | 所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动。 本节重点介绍一下如何向地图添加标注,以及与地图相关的一些交互。<br/><span style="color:#FF0000;">请参考文档最后扫描二维码体验~</span> | ||
− | </div><!--jsapi单独demo-代码--><div class="aloneDemo"><div dir="https://lbsyun.baidu.com/cms/jsapi/demo/jsapiLite/lite_2_0.html"></div><div class="top_right">[http://lbsyun.baidu.com/jsdemo.htm#lite_2_0 DEMO详情]</div></div><div class="bluetitle"><div class=" | + | </div><!--jsapi单独demo-代码--><div class="aloneDemo"><div dir="https://lbsyun.baidu.com/cms/jsapi/demo/jsapiLite/lite_2_0.html"></div><div class="top_right">[http://lbsyun.baidu.com/jsdemo.htm#lite_2_0 DEMO详情]</div></div><div class="bluetitle"><div class="serve-explain-text"><div class="service-page-anchor"><span>提供的覆盖物</span></div></div></div><div class="serve-explain-text"> |
可以使用map.addOverlay方法向地图添加覆盖物,使用map.removeOverlay方法移除覆盖物。 | 可以使用map.addOverlay方法向地图添加覆盖物,使用map.removeOverlay方法移除覆盖物。 | ||
详情请见[http://lbsyun.baidu.com/cms/jsapi/reference/lite.html#a3b0 类参考]。</div> | 详情请见[http://lbsyun.baidu.com/cms/jsapi/reference/lite.html#a3b0 类参考]。</div> | ||
第19行: | 第19行: | ||
| 表示地图上的点,可自定义标注的图标 | | 表示地图上的点,可自定义标注的图标 | ||
|} | |} | ||
− | <div class="bluetitle"><div class=" | + | <div class="bluetitle"><div class="serve-explain-text"><div class="service-page-anchor"><span>标注点</span></div></div></div><div class="serve-explain-text"> |
Marker是一个用来往地图上添加点标记的类。使用它将任何你希望用户看到的兴趣点标注在地图上。 | Marker是一个用来往地图上添加点标记的类。使用它将任何你希望用户看到的兴趣点标注在地图上。 | ||
2022年8月19日 (五) 15:03的最后版本
简介
所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动。 本节重点介绍一下如何向地图添加标注,以及与地图相关的一些交互。
请参考文档最后扫描二维码体验~
提供的覆盖物
可以使用map.addOverlay方法向地图添加覆盖物,使用map.removeOverlay方法移除覆盖物。
详情请见类参考。覆盖物 | 类名 | 说明 |
抽象基类 | Overlay | 所有的覆盖物均继承此类的方法 |
点 | Marker | 表示地图上的点,可自定义标注的图标 |
标注点
Marker是一个用来往地图上添加点标记的类。使用它将任何你希望用户看到的兴趣点标注在地图上。
API提供了默认图标样式,您也可以通过Icon类来指定自定义图标。Marker的构造函数的参数为Point和MarkerOptions(可选)。
注意:当您使用自定义图标时,标注的地理坐标点将位于标注所用图标的中心位置,您可通过Icon的offset属性修改标定位置。
Marker使用详情请见类参考。1向地图添加标注
如下示例,向地图中心点添加了一个标注,并使用默认的标注样式:
var map = new BMap.Map("container"); var point = new BMap.Point(116.404, 39.915); map.centerAndZoom(point, 15); var marker = new BMap.Marker(point); // 创建标注 map.addOverlay(marker); // 将标注添加到地图中
2定义标注图标
通过Icon类可实现自定义标注的图标,下面示例通过参数MarkerOptions的icon属性进行设置,您也可以使用marker.setIcon()方法。
var map = new BMap.Map("container"); var point = new BMap.Point(116.404, 39.915); map.centerAndZoom(point, 15); // 编写自定义函数,创建标注 function addMarker(point, index){ // 创建图标对象 var myIcon = new BMap.Icon("markers.png", new BMap.Size(23, 25), { // 指定定位位置。 // 当标注显示在地图上时,其所指向的地理位置距离图标左上 // 角各偏移10像素和25像素。您可以看到在本例中该位置即是 // 图标中央下端的尖角位置。 anchor: new BMap.Size(10, 25), // 设置图片偏移。 // 当您需要从一幅较大的图片中截取某部分作为标注图标时,您 // 需要指定大图的偏移位置,此做法与css sprites技术类似。 imageOffset: new BMap.Size(0, 0 - index * 25) // 设置图片偏移 }); // 创建标注对象并添加到地图 var marker = new BMap.Marker(point, {icon: myIcon}); map.addOverlay(marker); } // 随机向地图添加10个标注 var bounds = map.getBounds(); var lngSpan = bounds.maxX - bounds.minX; var latSpan = bounds.maxY - bounds.minY; for (var i = 0; i < 10; i ++) { var point = new BMap.Point(bounds.minX + lngSpan * (Math.random() * 0.7 + 0.15), bounds.minY + latSpan * (Math.random() * 0.7 + 0.15)); addMarker(point, i); }
3监听标注事件
可以通过addEventListener方法为覆盖物注册事件监听。
marker.addEventListener("click", function(){ alert("您点击了标注"); });
扫描二维码体验: