首页 / 浏览问题 / 组件GIS / 问题详情
超图FAQ:【iObject Java】new一个geomap之后,设置地图名并加入布局中后,getScale、getMapXML获取为空为什么?
44,106EXP 2023年04月11日
【iObject Java】new一个geomap之后,设置地图名并加入布局中后,getScale、getMapXML获取为空为什么?

1个回答

【问题原因】 1.创建geoMap,对geoMap设置了该布局地图空间需要打开的地图名称,此时geomap对象并没有与WorkSpace关联,所以是读不到工作空间内的地图信息的。 所以setMapName方法给geoMap对象,立刻对该对象获取xml是无效的。 2.Scale比例尺,该比例尺是布局地图元素在布局中,地图当前显示的比例尺,直接对geoMap对象无法获取到,同样是因为以地图名称创建是拿不到地图信息的,因此也无法得到比例尺信息。 【解决办法】 1.直接在geoMap对象上获取,使用geoMap.setMapXML(),来赋予地图内容。 单纯为了获取map的xml来说,建议从WorkSpace的maps下使用地图名去获取。 2.以geoMap.setMapXML()或者geoMap.setMapName()+geoMap.setScale();这两种方式创建初始化geoMap,才能立刻获取到。 对于已经绑定好工作空间的Layout的layoutElements在添加geoMap对象以后会给一个默认的比例尺,是可以取到比例尺的。 LayoutElements elements = m_mapLayoutControl.getMapLayout() .getElements(); elements.moveFirst() ; Geometry geoMapNow=elements.getGeometry(); GeoMap geoMap1=(GeoMap)geoMapNow; double mapScale =geoMap1.getMapScale();
44,106EXP 2023年04月11日
热门文章
关注我们
...