首页 / 浏览问题 / 三维GIS / 问题详情
3D地图自定义方法中,怎么把点连成线,求方法
14EXP 2019年01月15日

3维地图是插件的.自定义方法如下:

function boxchoose(){
            var boxchoose = new SuperMap.Web.UI.Action3Ds.BoxChoose(sceneControl);
            sceneControl.set_sceneAction(boxchoose);
    }


    SuperMap.Web.UI.Action3Ds.BoxChoose=function(){
                SuperMap.Web.UI.Action3Ds.BoxChoose.initializeBase(this);

                this._name = "boxchoose";

                this._sceneControl = sceneControl;

                //对应的场景操作类型为漫游
                this._type = SuperMap.Web.UI.Action3Ds.SceneActionType.PAN;
            }
            //扩展Action的属性和方法
            SuperMap.Web.UI.Action3Ds.BoxChoose.prototype =
            {
                /*
                * 析构方法
                */
                dispose:function()
                {
                    this._sceneControl = null;
                },
                
                /*
                * 鼠标单击方法
                */
                onMouseDown:function(e)
                {
                    alert(e);

//把点击获得的多个点连城线,或者连城一个封闭的多边形?
                }
            };
            SuperMap.Web.UI.Action3Ds.BoxChoose.registerClass('SuperMap.Web.UI.Action3Ds.BoxChoose',SuperMap.Web.UI.Action3Ds.SceneAction,Sys.IDisposable);

1个回答

var instanceVar = new SuperMap.Web.Core.GeoRegion3D(Point3Ds[]);

geoRegion3D属于geometry3D,后者属于geometry,所以geoRegion3D可以像geometry那样添加到trackinglayer中并在前端显示。
5,560EXP 2019年01月16日
大佬能不能写一个完整或者有没有案列可以看一下的.我这样写,还是没出来啊

var point=new SuperMap.Web.Core.Point3D(e.get_longitude(),e.get_latitude(),e.get_altitude());
                    this._points.add(point);
                    
                    var instanceVar = new SuperMap.Web.Core.GeoRegion3D(this._points);
                    var feature3D=new SuperMap.Web.Core.Feature3D();
                    var style = new SuperMap.Web.Core.Style3D();
                    style.set_lineColor(new SuperMap.Web.Core.Color(255,0,0,255));
                    feature3D.set_style3D(style);
                    feature3D.set_geometry(instanceVar);
                    var trackingLayer=this._sceneControl.get_scene().get_trackingLayer3D();
                    trackingLayer.set_isVisible(true);
                    trackingLayer.add(feature3D,"1")
就是把MyAction示例和Measure示例结合一下就可以。

你邮箱多少?我发你邮箱吧。
已经发送了
...