您好,我在使用SuperMap时,遇到几个问题,求帮忙。谢谢
一。 我在一个图层editLayer上添加线,设置style属性不起作用。代码如下
Layer editLayer = m_mapControl.getMap().getLayers().get(0);
DatasetVector dataset = (DatasetVector) editLayer.getDataset();
if (dataset != null) {
Recordset recordset = dataset.getRecordset(true, CursorType.DYNAMIC);
for (int i = 0; i < lngs.length - 1; i++) {
Point2Ds point2Ds = new Point2Ds();
point2Ds.add(new Point2D(lngs[3], lats[3]));
point2Ds.add(new Point2D(lngs[i], lats[i]));
boolean forward = CoordSysTranslator.forward(point2Ds, prjCoordSys);
GeoLine geoLine = new GeoLine(point2Ds);
GeoStyle geoStyle = new GeoStyle();
geoStyle.setLineColor(new Color(255, 0, 0));
geoStyle.setLineWidth(1);
recordset.update();
}
m_mapControl.getMap().setViewBounds(recordset.getBounds());
m_mapControl.getMap().setCenter(new Point2D(lngs[3], lats[3]));
m_mapControl.getMap().setScale(1 / 57373.046875);
m_mapControl.getMap().refresh();
recordset.dispose();
}
二、关于坐标转换问题
在加载官方例子中的World.udb时 通过
prjCoordSys = dataset.getPrjCoordSys();
boolean result = CoordSysTranslator.forward(point2Ds, prjCoordSys);
把经纬度坐标转换为投影坐标时,result为false。但是如果采用的是加载百度地图的方式,却能转换成功,求告知原因,谢谢
三、我在好多例子中看到了
m_mapControl.getMap().setScale(1 / 57373.046875);
关于这个 1 / 57373.046875 是如何计算出来的。
以上几个问题,请各位大神帮忙看哈,谢谢