参考this网站,我构建了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
width
和height
。
答案 0 :(得分:5)
要检查的事情:
您的new PackagedRasterDataSource(new EPSG3857(), 11, 12 ...
定义数据是针对缩放级别11-12的,因此您应该拥有" t11_x_y.png"等等,在您的图块集中使用适当的x和y,并将地图缩放并居中到使用图块覆盖的区域。
方法fromWgs84(47.0f, 9.0f)
应具有顺序经度(x,东经),纬度(y,北方)。确保这是正确的。