首页 / 浏览问题 / 组件GIS / 问题详情
跟踪图层中的TextPart随地图的比例尺进行缩放?
28EXP 2018年05月25日

把临时的打点信息放在了跟踪图层上,但是目前该图层上显示的信息时固定大小的,能不能设定随跟踪图层的比例尺进行缩放,地图比例尺很小的时候最后看不到。

设置跟踪图层的符号大小是否随图缩放 ?这里的符号是不是不包含GeoPoint对象和TextPart对象?我如下设定后没有得到想要的效果!!!1

        //设定缩放基准比例尺
        map.getTrackingLayer().setSymbolScalable(true);
        map.getTrackingLayer().setSymbolScale(1/4000);

哪位大神了解这个情况,请指点一下!谢谢!

1个回答

您好,就是设置这两个接口,您用的哪个版本的组件,java还是.NET?
5,985EXP 2018年05月25日
是java,完整的设置是这样的,但是没有达到预期的效果。

 public void MakePoint(String LocationOfPicture, double longitude,
        double latitude,Integer size) {
        SymbolMarker symbolMarker1 = creatNewSymbol(LocationOfPicture,
                longitude, latitude);
        Resources resources = MapModleInit.NestedSuperMapClass.workspace.getResources();
        SymbolMarkerLibrary symbolMarkerLibrary = resources.getMarkerLibrary();
        int id = symbolMarkerLibrary.add(symbolMarker1);

        /*实例化一个点几何对象,并且设置风格*/
        GeoStyle geoStyle_P = new GeoStyle();
        geoStyle_P.setMarkerAngle(0);
        /*设置点状符号的大小,单位为毫米,精确到0.1毫米*/
        /*通过改变该点大小的设置,可以变更图标的大小*/
        geoStyle_P.setMarkerSize(new Size2D(size, size));
        /*设置点状符号的编码*/
        geoStyle_P.setMarkerSymbolID(id);

        GeoPoint geoPoint = new GeoPoint();
        geoPoint.setX(longitude);
        geoPoint.setY(latitude);
        geoPoint.setStyle(geoStyle_P);

        Map map = MapModleInit.NestedSuperMapClass.mapControl.getMap();
        //设定缩放基准比例尺
        map.getTrackingLayer().setSymbolScalable(true);
        map.getTrackingLayer().setSymbolScale(1/4000);
        
        //设置跟踪图层可见
        map.getTrackingLayer().setVisible(true);
       
        // 刷新地图窗口显示
        if( true == NestedSuperMapClass.begin.getrefreshFlag()) {
             map.refresh();
        }
       
        map.getTrackingLayer().add(geoPoint, "打点");
    }

}

这里所指的随图缩放的符号是点状符号

geoStyle.setMarkerSymbolID(id);

所以文本(textPart)是不支持的

文本不能缩放,地图缩小后,在上边就是一堆黑乎乎的,超级难看。

那可以实现打点和标签分别隐藏吗? 缩小时隐藏 textPart)?
可以在小比例尺下设置跟踪图层的不可见属性
 本质上是一个 GeoText geotext = new GeoText();

textPart是被add进上边的对象的。

...