首页 / 浏览问题 / 组件GIS / 问题详情
iobjectjava 布局出图,如何将点图标在图例上体现,地图上的三角未本地路径三角图片,图例如何和地图保持一致;
twt
21EXP 2024年08月27日

1.iobjectjava 布局出图,如何将点图标在图例上体现,地图上的三角为本地路径三角图片svg,图例如何和地图保持一致,为三角图片;

2.左下角出图比例尺如何给一个固定值,如20千米;现在是定位到图层map.ensureVisible(layer),比例尺返回得默认值

1个回答

1、 需要从地图中获取图层和风格信息,然后根据图层类型以及风格等信息动态创建布局元素添加到布局窗口中,使用GeoLegend类的getInnerGeometry()方法来控制图例项的显示内容;

2、可以通过MapLayout类的setZoomRatio方法设置布局当前的缩放比例。
55,378EXP 2024年08月28日

1.GeoLegend类的getInnerGeometry()可以获取对象,但是怎么把图例中点对象和设置地图上风格一样能设置个svg图片

2.设置setZoomRatio缩放比不能固定比例尺;影响比例尺的是map.ensureVisible(layer)定位到图层的这个范围


通过setItemVisible("子项名", false/true); 方法选择设置图例项可见性来指定的图例项名称,即地图中相应的图层名,就可以选中对应的图层,其相应的图层风格也会自动显示同步
设置了没效果,没有同步风格
图例类需要关联地图名和工作空间进行使用,当设置标题,图例项是否可见等内容时,需要调用 load() 方法,设置才起作用;可以通过两种方式实现您上述的情况:
1、布局图例中可以通过设置图例项来直接读取图层信息,添加的图例对象就是与图层一致,见附图1、2;
2、在布局中添加点对象,该点对象导入SVG符号,然后将该点对象作为图例对象,但见附图3;
这里更推荐使用第一种方案,直接读取图层属性,不用再去重新指定导入就能满足要求。

1.图例项是否可见等内容时,需要调用 load() ;我在代码里面是这么做的,geoLegend.setItemVisible只能控制点是否显示在图例中,并不能把点附带的svg图标给刷新在图例中;

2.见附图1、2,3在哪里

3.我把示例代码给您,或者您给我个示例代码?

因为评论回复有长度限制,附图已经发送至您邮箱 865558302@qq.com

我这边是直接在Java组件1111完整包的范例程序SampleCode\LayoutDisplay中添加邮件附图1的主要部分后验证的,附图2的布局中显示的图例即与图层一致。

好的我试下
...