首页 / 浏览问题 / 移动GIS / 问题详情
更新点坐标位置信息
55EXP 2020年10月08日

您好,咱们以GeoPoont为例,我通过recordset找到查询对象,我现在调用recordset.getGeomtry()得到当前对象,然后我这边需要更新其位置信息,我能重新geomtry.setX与geomtry.setY进行位置的更新吗?但是我这样好像并没有发生变化,位置并没有移动……?

求问,还有没有其他的更新位置的方法?

代码如下:

recordset.edit();
Geometry geometry = recordset.getGeometry();
if("set_point".equals(type)){
    GeoPoint geoPoint = (GeoPoint)geometry;
    double oldx = geoPoint.getX();
    double oldy = geoPoint.getY();
    Log.e("update","原来坐标x:"+oldx +"/y:"+ oldy);
    double xoffset = Double.valueOf(newProperty.get(1))-oldx;
    double yoffset = Double.valueOf(newProperty.get(2))-oldy;
    Log.e("update","偏移的量:"+xoffset +"/y:"+ yoffset);
    //geoPoint.setX(Double.valueOf(newProperty.get(1)));
    //geoPoint.setY(Double.valueOf(newProperty.get(2)));
    geoPoint.offset(xoffset,yoffset);
    String newHeigt = "#*%*#"+ newProperty.get(3);
    Log.e("update","新的高程:"+newHeigt);
    if(recordset.setFieldValue("FYH",newHeigt)){
        Log.e("update","更新成功:");
    }

我使用了两种方法都不行,请问是哪里出现错误了吗?

1个回答

在更新geoPoint之后,需要更新Recordset中的几何对象,即需要调用Recordset.setGeometry方法。
500EXP 2020年10月09日
谢谢您,已解决,太感谢了。
...