在本讨论坛中见过另一个博主写过本篇相同的内容。但是其博客上只讲了大概思路,如果不是papervision3d方面比较熟的人还真难看懂。本人GIS出身,对他这篇博文颇感兴趣,因此看了多遍,但有很多地方还是没有看明白,我想过另一种办法,实现了,不过还是感谢那位仁兄,给了我不少灵感。
上图先
实现原理就是将2D环境下的map control添加到3D场景中,这样,就可以对map control进行任意的旋转控制了。在这里,还没有实现对高程数据的添加,所以只是对2D平面地图的3D展示。
上代码:as文件
package com.neil.map
{
import com.esri.ags.Map;
import com.esri.ags.layers.ArcGISTiledMapServiceLayer;
import flash.display.BlendMode;
import flash.events.Event;
import mx.core.UIComponent;
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.materials.MovieMaterial;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.render.BasicRenderEngine;