0

这是我的代码

  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        mapView = (MapView) findViewById(R.id.mapView);
        mapView.setComponents(new Components());

        RasterDataSource datasource = new PackagedRasterDataSource(new EPSG3857(), 11, 12, "t{zoom}_{x}_{y}", getApplicationContext());
        RasterLayer mapLayer = new RasterLayer(datasource, 16);
        mapView.getLayers().setBaseLayer(mapLayer);
        mapView.setFocusPoint(mapView.getLayers().getBaseLayer().getProjection().fromWgs84(217884.21f, 1928068.13f));
        //mapView.setZoom(15);
    }

我从http://www.mapcacher.com/添加了 .map 文件,并使用http://dev.nutiteq.ee/jarmaps/将其转换为 PNG 。我已经提到了正确的缩放级别,检查了 t11 和 t12 文件是否存在于 res/raw 下。我还使用http://www.latlong.net/lat-long-utm.html将 lat/lon 转换为所需的格式。我做错了什么。我在 log cat 中没有收到任何错误,但是显示了一个带有 Nutiteq 徽标的空白页面。

4

1 回答 1

1

这条线是错误的,而不是UTM坐标

mapView.setFocusPoint(mapView.getLayers().getBaseLayer().getProjection().fromWgs84(217884.21f, 1928068.13f));

您应该使用 WGS84,经纬度坐标(第一个参数长为 x,然后纬度为 y),就像来自 Wgs84 的方法名称所暗示的那样。无需从外部转换/转换为 UTM。

于 2014-11-20T16:12:36.730 回答