android地图sdk | 百度地图api sdk-凯发k8官方旗舰厅

浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
绘制3d建筑物
下载开发文档

自v7.5.4起,百度地图sdk新增3d建筑物动画功能,支持开发者对特定建筑物进行单体动画控制。
自v7.5.7起,百度地图sdk新增3d建筑物的楼层动画功能,支持开发者自定义建筑物中楼层的绘制效果,包括:楼层高度、楼层颜色、楼层纹理、楼层动画类型等。

绘制3d建筑物

开发者通过buildingsearchoption检索指定坐标点对应的建筑物楼块信息,根据楼块信息创建建筑物选项buildingoptions,开发者也可通过buildingoptions设置3d建筑物的属性,然后将3d建筑物绘制到地图上。
开发者可设置baidumap::seton3dbuildinglistener(building3dlistener listener)方法,用以监听建筑物楼层动画结束回调消息。 绘制buildingoptions,并监听楼层动画的代码如下:

// 3d建筑物对象
building mbuildingprism;
// 创建检索建筑物的选项
buildingsearchoption buildingsearchoption =newbuildingsearchoption();
// 设置检索的坐标点
buildingsearchoption.setlatlng(requestlatlng);
// 创建检索建筑物的对象
mbuildingsearch =buildingsearch.newinstance();
// 开始检索
mbuildingsearch.requestbuilding(buildingsearchoption);
// 在检索成功的回调中绘制建筑物
mbuildingsearch.setongetbuildingsearchresultlistener(newongetbuildingsearchresultlistener(){
@override
publicvoidongetbuildingresult(buildingresult result){
if(null== result || result.error!=searchresult.errorno.no_error){
return;
}
// 获取建筑物的各个楼面
for(int i =0; i < result.getbuildinglist().size(); i){
buildinginfo buildinginfo = result.getbuildinglist().get(i);
// 创建3d建筑物选项
buildingoptions buildingoptions =newbuildingoptions();
// 设置建筑物信息
buildingoptions.setbuildinginfo(buildinginfo);
// 设置建筑物侧面颜色
buildingoptions.setsidefacecolor(0xaaff0000);
// 设置建筑物顶部颜色
buildingoptions.settopfacecolor(0xaa00ff00);
// 设置楼层动画类型(慢速、快速、正常)
buildingoptions.setbuildingflooranimatetype(prism.animatetype.animateslow);
// 设置楼层初始高度
buildingoptions.setfloorheight(buildinginfo.getheight());
buildingoptions.setfloorcolor(0xff0000aa);
// 设置是否打开建筑物立楼动画
buildingoptions.setanimation(true);
// 设置建筑物开始显示层级
buildingoptions.setshowlevel(16);
// 向地图添加3d建筑物
mbuildingprism =(building) mbaidumap.addoverlay(buildingoptions);
}
// 设置楼层动画监听
mbaidumap.seton3dbuildinglistener(newbuilding3dlistener(){
@override
publicvoidonbuildingflooranimationstop(building buildings){
log.d("building3dprismdemo ","setprismcallback() ::onbuildingflooranimationstop");
}
});
}
});

building的属性如下:

属性名备注
buildinginfo建筑物楼块信息
floorheight楼层高度
floorcolor楼层颜色
floorsidetextureimage楼层纹理
showlevel建筑物显示的层级
isanimation建筑物是否有生长动画

效果如下:

上一篇

绘制3d棱柱

下一篇

绘制海量点

本篇文章对您是否有帮助?

网站地图