0

このサイトを参照してMapActivity、次のようにビルドしました。

public class MainActivity extends Activity {

    private MapView mapView;

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

        mapView = (MapView) findViewById(R.id.map);
        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(47.0f, 9.0f));
        //mapView.setZoom(15);
    }

    @Override
    protected void onStart(){
        super.onStart();
        mapView.startMapping();
    }

    @Override
    protected void onStop(){
        mapView.stopMapping();
        super.onStop();
    }

}

フォルダにタイルを入れましres/rawたが、何も表示されません。不足しているものはありますか?チュートリアルによると、何かを表示する必要があります。それをデバッグするために他に何を提供できますか? xml はシンプルMapViewで、widthheight.

タイルはここここで生成されます。パラメータとして CloudMade Key を設定しません。

4

1 に答える 1

4

いくつかの確認事項:

  1. データがズーム レベル 11 ~ 12 用であると定義しているため、タイル セットに適切な x と y を持つ " t11_x_y.png new PackagedRasterDataSource(new EPSG3857(), 11, 12 ..." などを用意し、タイルで覆われた領域をズームして中央に配置する必要があります。

  2. メソッドfromWgs84(47.0f, 9.0f)には、経度 (x、東座標)、緯度 (y、北座標) の順序が必要です。これが正しいことを確認してください。

于 2014-05-28T16:33:27.543 に答える