首页 / 浏览问题 / 移动GIS / 问题详情
地图移动到当前位置不正确
21EXP 2018年10月14日

使用移动GIS平台Imobile 9d 901,在获取当前坐标后。直接使用setCenter方法,发现移动位置错误,需要经过转化后,才能正常移动。


错误移动

Point2D center = new Point2D(mCenterL, mCenterB);
mMapControl.getMap().setCenter(center);
mMapControl.getMap().refresh();

正常移动

Point2D center = new Point2D(mCenterL, mCenterB);
		PrjCoordSys Prj = mMapControl.getMap().getPrjCoordSys();
		if (Prj.getType() != PrjCoordSysType.PCS_EARTH_LONGITUDE_LATITUDE) {
			Point2Ds points = new Point2Ds();
			points.add(center);
			PrjCoordSys desPrjCoorSys = new PrjCoordSys();
			desPrjCoorSys.setType(PrjCoordSysType.PCS_EARTH_LONGITUDE_LATITUDE);
			CoordSysTranslator.convert(points, desPrjCoorSys, Prj,
					new CoordSysTransParameter(),
					CoordSysTransMethod.MTH_GEOCENTRIC_TRANSLATION);
			center.setX(points.getItem(0).getX());
			center.setY(points.getItem(0).getY());
		}
		mMapControl.getMap().setCenter(center);
		mMapControl.getMap().refresh();

2 个回答

您好,定位是GPS数据,属于经纬度地理坐标数据,如果你的地图不是使用的地理坐标系,就需要进行投影转换,转换到对应地图的坐标系。

iMobile中没有直接定位并投影到地图上的功能,而是需要使用投影转换,这样可以适用不同的地图,同时您也可以自定义投影转换参数,进行纠偏。
694EXP 2018年10月15日
你好,请问一下你获取的坐标是什么坐标系下的坐标,和你的地图坐标系一致吗?你可以直接获取你地图上某个位置的坐标值,再setCrnter()
9,127EXP 2018年10月15日
地图本身没有坐标系
...