首页 / 浏览问题 / 移动GIS / 问题详情
android 根据经纬度添加图斑并显示
30EXP 2020年08月06日
你好,

我想根据几个点(坐标是经纬度)来创建面,添加对象并显示在超图上。

有什么方法吗?

1个回答

您好,根据已知点坐标来构造面对象,使用面几何对象的构造方法,GeoRegion geoRegion = new GeoRegion(Point2Ds);point2Ds存储经纬度坐标,详情可以参考API文档。
9,232EXP 2020年08月07日
绘制面跟工作空间是没有关系的,您那边可以在桌面iDesktop软件自己新建一个数据源和数据集,然后保存一个工作空间,将工作空间和数据源拷贝到移动端使用,您使用长春的数据进行坐标绘制不显示,有一个原因是因为长春的数据坐标系是平面坐标系,您使用经纬度绘制的面对象在地图上应该是已经显示出来了,只是不在当前地图的显示范围。使用构造方法绘制面设置的坐标尽量是地图坐标系下的坐标值。

根据坐标来绘制面,这个坐标的经纬度是否需要和地图相关联啊?

你看第一个我采用长沙,上海,台北,广州四个点经纬度可以成功绘面

point2DList.add(new Point2D(112.98626, 28.25591));
point2DList.add(new Point2D(121.48941, 31.40527));
point2DList.add(new Point2D(121.520076, 25.030724));
point2DList.add(new Point2D(113.27324, 23.15792));

第二个采用x,y坐标也可以成功

point2Ds.add(new Point2D(114,36));
point2Ds.add(new Point2D(120,40));
point2Ds.add(new Point2D(100,40));

但是第三个我采用长春市的吉林大学,长春国际会展中心,长春师范大学,吉林大学四个经纬度就绘制不成功了

 point2DList.add(new Point2D(125.288776, 43.83281));
point2DList.add(new Point2D(125.400885, 43.842382));
point2DList.add(new Point2D(125.403184, 43.9189));
point2DList.add(new Point2D(125.273253, 43.918069));
经纬度本身和地图没有关联,但是你要显示在地图上就需要坐标系一致了,因为绘制的Geometry是没有坐标系的,只有一个坐标值,如果是投影坐标系,那么你设置的面对象的位置就是在100米左右的位置,这个数据就会显示在100米的坐标处;如果坐标系是经纬度坐标系,那么你绘制的面对象就在你设置的经纬度值位置
这个我知道,但是你看我上一个回答,第三个面和第一个采用的都是经纬度坐标系,但是第一个成功了,第三个就不成功,我想问的是这个问题。
您所说的不成功是指地图上没有显示还是什么呢?
...