android绘制面的方法

0 投票
android从iserver服务上获取面信息,用什么方法在地图上绘画出面信息
8月 6 分类:  30次浏览 | 用户: sm 才疏学浅 (14 分)

1个回答

0 投票
您好,从iserver获取的面对象是以什么方式存的呢?如果知道面对象的坐标值,可以直接通过GeoRegion的构造方法进行绘制:
GeoRegion geoRegion = new GeoRegion(Point2Ds)
8月 6 用户: 董懿鑫 登峰造极 (5,773 分)
您那边看一下iserver能不能返回两个点串,外面一个大面为一个点串,然后里面的也是一个点串,这样在移动端就可以用小面去裁剪那个大面

刚刚那条消息最上边那两张图片就是返回值,只有一个点串,获取的所有信息都给在图片里.没有别的返回值了,parts有什么用?应该怎么解决?

下边是我显示出来多一条线的代码:

if(count>0){
    Point2Ds point2Ds=new Point2Ds();
    Point2D[] ps=new Point2D[featuresResult.features[a].geometry.points.length];
    for(int i=0;i<featuresResult.features[a].geometry.points.length;i++){
        Point2D point2d =new Point2D();
        point2d.setX(featuresResult.features[a].geometry.points[i].x);
        point2d.setY(featuresResult.features[a].geometry.points[i].y);
        point2Ds.add(point2d);
        ps[i]=point2d;
    }
    GeoStyle geoStyle=new GeoStyle();
    geoStyle.setFillBackColor(new   com.supermap.data.Color(Color.parseColor("#4876FF")));
    geoStyle.setFillOpaqueRate(40);
    GeoRegion region=new GeoRegion(point2Ds);
    region.getArea();
    region.setStyle(geoStyle);
    mapControl.getMap().getTrackingLayer().add(region,"regoinsq");
}
我们没有提供这个圆环的几何对象,需要自己通过我上面说的裁剪的方法来进行绘制。首先需要知道环形几何对象的最外面的点串和最里面的点串,分别构建面对象来进行裁剪。多一条线是因为我们会默认将起始点和终点连接起来,这样就会多一条线。
我说的不是圆环,是环形面,能不能帮我好好看看我给你发的图片?愁死我啦.
环形面也是没有直接的接口对接的,需要使用裁剪的方式。上面已经给你说了,获取两个面的节点坐标自己构造,然后用裁剪。移动端只能这么做。
...