地图移动到当前位置不正确

0 投票

使用移动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();

10月 14, 2018 分类:  638次浏览 | 用户: 亚梦 初出茅庐 (21 分)

2 个回答

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

iMobile中没有直接定位并投影到地图上的功能,而是需要使用投影转换,这样可以适用不同的地图,同时您也可以自定义投影转换参数,进行纠偏。
10月 15, 2018 用户: 幸俊 学富五车 (563 分)
采纳于 10月 17, 2018 用户:亚梦
0 投票
你好,请问一下你获取的坐标是什么坐标系下的坐标,和你的地图坐标系一致吗?你可以直接获取你地图上某个位置的坐标值,再setCrnter()
10月 15, 2018 用户: 董懿鑫 名扬四海 (3,443 分)
地图本身没有坐标系
...