(未显示1个用户的9个中间版本) | |||
第1行: | 第1行: | ||
{{jspopularGL-sidebar}} | {{jspopularGL-sidebar}} | ||
− | <div class="h1-title">带高度的点</div><div id="update- | + | <div class="h1-title">带高度的点</div><div id="update-time1">更新时间:2020年10月22日</div><div class="bluetitle"><div class="serve-explain-text"><div class="service-page-anchor"><span>简介</span></div></div></div><div class="serve-explain-text">基于 WebGL 点图元,百度地图 JSAPI GL 提供了 BMapGL.Marker3D 类进行带高度的点覆盖物绘制,支持对覆盖物点的高度、大小、形状、颜色及透明度的自定义,并可以进行纹理贴图以满足更多场景需求。</div><!--jsapi单独demo-代码--><div class="jsapidemo_template"><div class="demo_area"><div dir="https://lbsyun.baidu.com/jsdemo/demo/eMarker3d.htm"></div></div><div class="demo_control"><div class="demo_btn" style="width:50%;">[https://lbsyun.baidu.com/jsdemo/demo/eMarker3d.htm 带高度的点]</div><div class="demo_btn" style="width:485px;">[https://lbsyun.baidu.com/jsdemo/demo/eMarker3dIcon.htm 贴纹理]</div></div><div class="jsapi-demo-link">[http://lbsyun.baidu.com/jsdemo.htm#eMarker3d DEMO详情]</div></div><div class="bluetitle"><div class="serve-explain-text"><div class="service-page-anchor"><span>Marker3D类参考</span></div></div></div><div class="serve-explain-text"> |
构造函数: | 构造函数: | ||
</div> | </div> | ||
第49行: | 第49行: | ||
| 点的形状,1 为圆形,2 为正方形,默认为 1。也可以使用对应的常量 BMAP_SHAPE_CIRCLE 和 BMAP_SHAPE_RECT | | 点的形状,1 为圆形,2 为正方形,默认为 1。也可以使用对应的常量 BMAP_SHAPE_CIRCLE 和 BMAP_SHAPE_RECT | ||
|- | |- | ||
− | | | + | | fillColor |
| string | | string | ||
| 点的颜色,格式为 '#xxxxxx',比如'#f00' | | 点的颜色,格式为 '#xxxxxx',比如'#f00' | ||
|- | |- | ||
− | | | + | | fillOpacity |
| number | | number | ||
| 点的透明度,范围0-1,默认0.8 | | 点的透明度,范围0-1,默认0.8 | ||
|- | |- | ||
− | | | + | | icon |
| Icon | | Icon | ||
| 点的纹理贴图,格式为通过Icon创建的Icon对象 | | 点的纹理贴图,格式为通过Icon创建的Icon对象 | ||
|} | |} | ||
− | <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="devguide"><div class="leftborderbg" style="height:5000px;"></div><div class="devguideorder"><span>1</span>创建地图参照展示地图</div><div class="devguidecenter"></div><div class="devguideorder"><span>2</span>创建带高度的点,并添加到地图上</div><div class="devguidecenter"> |
− | + | 创建带高度的点使用BMapGL.Marker3D类,其继承自Overlay,通过map.addoverlay()方法将创建的点覆盖物添加到地图上。 | |
− | </div><div class="devguide"><div class="leftborderbg" style="height:5000px;"></div><div class="devguideorder"> | + | <pre class="prettyprint codestyle"> // 创建位置点 |
− | + | var point = new BMapGL.Point(116.404, 39.915); | |
− | + | // 创建带高度的点 | |
− | </div><div class="devguidecenter"></div><div class="devguideorder"> | + | var marker3d = new BMapGL.Marker3D(point, 8000, { |
− | + | size: 50, | |
− | + | shape: BMAP_SHAPE_CIRCLE, | |
− | </div><div class="devguidecenter"> | + | fillColor: '#454399', |
− | + | fillOpacity: 0.6 | |
− | <pre class="prettyprint codestyle"> | + | }); |
− | var | + | // 将点添加到地图上 |
− | map.addOverlay( | + | map.addOverlay(marker3d); |
</pre> | </pre> | ||
− | </div> | + | </div></div><div class="bluetitle"><div class="serve-explain-text"><div class="service-page-anchor"><span>纹理贴图</span></div></div></div><div class="devguide"><div class="leftborderbg" style="height:5000px;"></div><div class="devguideorder"><span>1</span>贴纹理</div><div class="devguidecenter">纹理图片首先需要通过Icon类创建实例,然后通过Marker3D类创建带高度的点实例时,将得到的Icon实例传给icon属性。<pre class="prettyprint codestyle"> // 创建位置点 |
− | + | var pt = new BMapGL.Point(point.lng, point.lat); | |
− | < | + | // 创建贴图纹理Icon |
− | + | var icon = new BMapGL.Icon(citys[i].img, new BMapGL.Size(40, 40)); | |
− | + | // 创建带高度的点,这里只需要size和icon | |
− | + | var marker = new BMapGL.Marker3D(pt, 8000, { | |
− | + | size: 80, | |
− | + | icon: icon | |
− | + | }); | |
− | + | // 将点添加到地图上 | |
− | + | map.addOverlay(marker); | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | </div> | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | map.addOverlay( | + | |
</pre> | </pre> | ||
</div></div> | </div></div> |
2022年8月19日 (五) 13:25的最后版本
带高度的点
更新时间:2020年10月22日
简介
基于 WebGL 点图元,百度地图 JSAPI GL 提供了 BMapGL.Marker3D 类进行带高度的点覆盖物绘制,支持对覆盖物点的高度、大小、形状、颜色及透明度的自定义,并可以进行纹理贴图以满足更多场景需求。
Marker3D类参考
构造函数:
构造函数 | 说明 |
BMapGL.Marker3D(point, height, options) | Marker3D继承Overlay,用于创建带有高度的点,可以通过options自定义点的样式 |
参数说明:
构造函数 | 类型 | 说明 |
point | Point | 点坐标,通过Point创建的点对象 |
height | number | 点的高度 |
options | Object | 点的自定义样式,可选 |
options属性变量:
options属性 | 类型 | 说明 |
size | number | 点的大小,默认为50 |
shape | number | 点的形状,1 为圆形,2 为正方形,默认为 1。也可以使用对应的常量 BMAP_SHAPE_CIRCLE 和 BMAP_SHAPE_RECT |
fillColor | string | 点的颜色,格式为 '#xxxxxx',比如'#f00' |
fillOpacity | number | 点的透明度,范围0-1,默认0.8 |
icon | Icon | 点的纹理贴图,格式为通过Icon创建的Icon对象 |
使用示例
1创建地图参照展示地图
2创建带高度的点,并添加到地图上
创建带高度的点使用BMapGL.Marker3D类,其继承自Overlay,通过map.addoverlay()方法将创建的点覆盖物添加到地图上。
// 创建位置点 var point = new BMapGL.Point(116.404, 39.915); // 创建带高度的点 var marker3d = new BMapGL.Marker3D(point, 8000, { size: 50, shape: BMAP_SHAPE_CIRCLE, fillColor: '#454399', fillOpacity: 0.6 }); // 将点添加到地图上 map.addOverlay(marker3d);
纹理贴图
1贴纹理
纹理图片首先需要通过Icon类创建实例,然后通过Marker3D类创建带高度的点实例时,将得到的Icon实例传给icon属性。
// 创建位置点 var pt = new BMapGL.Point(point.lng, point.lat); // 创建贴图纹理Icon var icon = new BMapGL.Icon(citys[i].img, new BMapGL.Size(40, 40)); // 创建带高度的点,这里只需要size和icon var marker = new BMapGL.Marker3D(pt, 8000, { size: 80, icon: icon }); // 将点添加到地图上 map.addOverlay(marker);