自v7.5.4起,百度地图sdk新增3d建筑物动画功能,支持开发者对特定建筑物进行单体动画控制。
自v7.5.7起,百度地图sdk新增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(){@overridepublicvoidongetbuildingresult(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(){@overridepublicvoidonbuildingflooranimationstop(building buildings){log.d("building3dprismdemo ","setprismcallback() ::onbuildingflooranimationstop");}});}});
building的属性如下:
属性名 | 备注 |
---|---|
buildinginfo | 建筑物楼块信息 |
floorheight | 楼层高度 |
floorcolor | 楼层颜色 |
floorsidetextureimage | 楼层纹理 |
showlevel | 建筑物显示的层级 |
isanimation | 建筑物是否有生长动画 |
效果如下:
上一篇
下一篇
本篇文章对您是否有帮助?