浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

文档全面上新

更科技的视觉体验,更高效的页面结构,快前往体验吧!

体验新版
(撤销Lbsyun讨论)的版本15764)
第1行: 第1行:
 
{{jspopularGL-sidebar}}
 
{{jspopularGL-sidebar}}
<div class="h1-title">带高度的点</div><div id="update-time">更新时间:2020年10月22日</div><div class="bluetitle"><div class="services-title-text">简介</div></div><div class="serve-explain-text">基于 WebGL 点图元,百度地图JSAPI GL提供了BMapGL.Marker3d类进行带高度的点覆盖物绘制,支持对覆盖物点的高度、大小、形状、颜色及透明度的自定义,并可以进行纹理贴图以满足更多需求。</div><!--jsapi单独demo-代码--><div class="aloneDemo"><div dir="https://lbs.baidu.com/jsdemo/demo/webgl1_0.htm"></div><div class="top_right">[http://lbs.baidu.com/jsdemo.htm#webgl1_0 DEMO详情]</div></div><div class="bluetitle"><div class="services-title-text">Marker3d类参考</div></div><div class="serve-explain-text">
+
<div class="h1-title">绘制点、线、面</div><div id="update-time">更新时间:2020年08月07日</div><div class="bluetitle"><div class="services-title-text">简介</div></div><div class="serve-explain-text">
构造函数
+
所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动。
 +
 
 +
目前JSAPI GL版支持的覆盖物以基本图形为主。
 +
本节重点介绍一下如何向地图添加标注,以及与地图相关的一些交互。</div><!--jsapi单独demo-代码--><div class="aloneDemo"><div dir="https://lbs.baidu.com/jsdemo/demo/webgl1_0.htm"></div><div class="top_right">[http://lbs.baidu.com/jsdemo.htm#webgl1_0 DEMO详情]</div></div><div class="bluetitle"><div class="services-title-text">提供的覆盖物</div></div><div class="serve-explain-text">
 +
可以使用map.addOverlay方法向地图添加覆盖物,使用map.removeOverlay方法移除覆盖物。
 
</div>
 
</div>
 
{| width="519" border="1"
 
{| width="519" border="1"
 
|-
 
|-
| width="104" | '''构造函数'''
+
| width="104" | '''覆盖物'''
 +
| width="96" | '''类名'''
 
| width="297" | '''说明'''
 
| width="297" | '''说明'''
 
|-
 
|-
| BMapGL.Marker3D(point, height, options)
+
| 抽象基类
| Marker3D继承Overlay,用于创建带有高度的点,可以通过options自定义点的样式
+
| Overlay
|}
+
| 所有的覆盖物均继承此类的方法
<div class="serve-explain-text">
+
参数说明
+
</div>
+
{| width="519" border="1"
+
 
|-
 
|-
| width="104" | '''构造函数'''
+
|
| width="297" | '''说明'''
+
| Marker
 +
| 表示地图上的点,可自定义标注的图标
 +
|-
 +
| 折线
 +
| Polyline
 +
| 表示地图上的折线
 +
|-
 +
| 多边形
 +
| Polygon
 +
| 表示地图上的多边形
 
|-
 
|-
| BMapGL.Marker3D(point, height, options)
+
|
| Marker3D继承Overlay,用于创建带有高度的点,可以通过options自定义点的样式
+
| Circle
 +
| 表示地图上的圆
 
|}
 
|}
 
<div class="bluetitle"><div class="services-title-text">添加标注点</div></div><div class="serve-explain-text">
 
<div class="bluetitle"><div class="services-title-text">添加标注点</div></div><div class="serve-explain-text">

2020年10月23日 (五) 10:08的版本

绘制点、线、面
更新时间:2020年08月07日
简介

所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动。

目前JSAPI GL版支持的覆盖物以基本图形为主。

本节重点介绍一下如何向地图添加标注,以及与地图相关的一些交互。
提供的覆盖物

可以使用map.addOverlay方法向地图添加覆盖物,使用map.removeOverlay方法移除覆盖物。

覆盖物 类名 说明
抽象基类 Overlay 所有的覆盖物均继承此类的方法
Marker 表示地图上的点,可自定义标注的图标
折线 Polyline 表示地图上的折线
多边形 Polygon 表示地图上的多边形
Circle 表示地图上的圆
添加标注点

Marker是一个用来往地图上添加点标记的类。使用它将任何你希望用户看到的兴趣点标注在地图上。

API提供了默认图标样式,您也可以通过Icon类来指定自定义图标。Marker的构造函数的参数为Point和MarkerOptions(可选)。

注意:当您使用自定义图标时,标注的地理坐标点将位于标注所用图标的中心位置,您可通过Icon的offset属性修改标定位置。

1参考展示地图创建基本地图
2向地图中添加标注
如下示例,向地图中心点添加了一个标注,并使用默认的标注样式:
var point = new BMapGL.Point(116.404, 39.915);   
var marker = new BMapGL.Marker(point);        // 创建标注   
map.addOverlay(marker);                     // 将标注添加到地图中
3向地图中添加标注

定义标注图标 通过Icon类可实现自定义标注的图标,下面示例通过参数MarkerOptions的icon属性进行设置,您也可以使用marker.setIcon()方法。

var myIcon = new BMapGL.Icon("markers.png", new BMapGL.Size(23, 25), {   
    // 指定定位位置。  
    // 当标注显示在地图上时,其所指向的地理位置距离图标左上   
    // 角各偏移10像素和25像素。您可以看到在本例中该位置即是  
    // 图标中央下端的尖角位置。   
    anchor: new BMapGL.Size(10, 25),   
    // 设置图片偏移。  
    // 当您需要从一幅较大的图片中截取某部分作为标注图标时,您  
    // 需要指定大图的偏移位置,此做法与css sprites技术类似。   
    imageOffset: new BMapGL.Size(0, 0 - 25)   // 设置图片偏移   
});     
    // 创建标注对象并添加到地图  
var marker = new BMapGL.Marker(point, {icon: myIcon});   
map.addOverlay(marker); 
4监听标注事件

JSAPI支持监听覆盖物的事件。

marker.addEventListener("click", function(){   
    alert("您点击了标注");   
});
添加折线
Polyline表示地图上的折线覆盖物,它包含一组点,并将这些点连接起来形成折线。Polyline使用详情请见类参考
1添加折线
首先参考展示地图创建基本地图,之后添加折线覆盖物到地图中。折线覆盖物可以分别设置描边粗细、颜色、填充颜色等属性。
var polyline = new BMapGL.Polyline([
		new BMapGL.Point(116.399, 39.910),
		new BMapGL.Point(116.405, 39.920),
		new BMapGL.Point(116.425, 39.900)
	], {strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});
map.addOverlay(polyline);
添加多边形
Polygon表示地图上的多边形覆盖物,它包含一组点。多边形将这组点按顺序首尾相连,最终围成一个封闭图形。
1添加多边形
首先参考展示地图创建基本地图,之后添加多边形覆盖物到地图中。多边形覆盖物可以分别设置描边粗细、颜色、填充颜色等属性。
var polygon = new BMapGL.Polygon([
        new BMapGL.Point(116.387112,39.920977),
        new BMapGL.Point(116.385243,39.913063),
        new BMapGL.Point(116.394226,39.917988),
        new BMapGL.Point(116.401772,39.921364),
        new BMapGL.Point(116.41248,39.927893)
    ], {strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});
map.addOverlay(polygon);
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消