更新时间:2020-09-20
Android 自7.4.0版本起支持3D棱柱绘制,支持自定义纹理。
提供一组多边形有序序列的点,根据序列点和高度生成3D棱柱。
绘制3D棱柱
通过PrismOptions 类来设置3D棱柱的属性。
示例代码如下:
List<LatLng> locations = new ArrayList<>(); locations.add(new LatLng(40.057777,116.306951)); locations.add(new LatLng(40.057964,116.307715)); locations.add(new LatLng(40.0559,116.308631)); locations.add(new LatLng(40.0557,116.307759)); PrismOptions prismOptions = new PrismOptions(); prismOptions.setHeight(200); prismOptions.setPoints(locations); prismOptions.setSideFaceColor(0xAAFF0000); prismOptions.setTopFaceColor(0xAA00FF00); prismOptions.customSideImage(BitmapDescriptorFactory.fromResource(R.drawable.wenli));
绘制效果如图:
Android地图SDK自7.5.2起支持3D建筑物单体控制,开发者可根据需求自定义3D建筑物的显示层级和是否有动画,开发者也可以在添加3D建筑物前调取接口拿到建筑物的外接矩形。新增属性如下:
// 控制3D建筑物单体动画 prismOptions.setAnimation(true); // 设置3D建筑物开始显示层级 prismOptions.setShowLevel(17);
新增计算3D建筑物单个楼面外接矩形的接口如下:
BaiduMap:getOverlayLatLngBounds(prismOptions)