首页 / 浏览问题 / 移动GIS / 问题详情
Imobile 9D lite中如何设置初始地图中心点和地图缩放级别?
gt
19EXP 2020年07月15日

尝试过  

m_mapView.getController().setCenter(centerPoint);
m_mapView.getController().setZoom(4);

没有效果,而且一旦使用setZoom后,任意的缩放都会导致地图消失。

1个回答

您好,设置中心点坐标和地图缩放级别的方法就是您贴出来的方法,您那边设置中心点坐标后是否有效果,。缩放级别你那边直接使用mapview.ZoomIn()来进行放大看地图是否会消失。
9,137EXP 2020年07月15日

还有一个问题,比如说我使用

http://support.supermap.com.cn:8090/iserver/services/map-china400/rest/maps/China
这个图源作为底图,在使用mapview.setCenter(Ponint2D)这个方法来设置中心时,只有中心点的经纬度坐标(WGS84下的),而图源中的坐标显然不是经纬度,需要进行转换,但是转换函数CoordSysTranslator.forward(Point2D,PrjCoordSys)中第二个参数怎么设置?转换完成后又如何获取转换完成后的坐标?
您好,如果您的底图是投影坐标系的,设置Point2D可以直接是投影坐标系下坐标值。不用进行投影转换的

但是在我上面提到的这个地图中,尝试设置用经纬度初始化的Point2D点为中心点无效。
如想要设置中心点为40°N、116°E,缩放级别8

Point2D centerPoint = new Point2D(116,40);
m_mapView.getController().setCenter(centerPoint);
m_mapView.getController().setZoom(8);

上述代码并无效果。

setZoom()是有效果的,但是setCenter()不行
设置中心点是有效果的,使用您上面发的示范地址,比如mapView.getController().setCenter(new Point2D(11975519.20383, 4481113.0211944));
请问怎么将经纬度转换到你给的这个坐标呢?是使用 CoordSysTranslator.forward()吗?其参数该怎么填的呢?如何获取转换后的Point2D点呢?

直接通过Util. lonLat2Mercator(double wx, double wy)方法将经纬度坐标转换为投影坐标,会返回一个Point2D对象

谢谢,找不到lonLat2Mercator这个方法

您看一下您那边使用的包是不是iMobile Lite for Android,而不是iMobile for Android
找到了,在工具类里。谢谢
...