OSM android没有显示地图图块

时间:2014-10-29 06:02:22

标签: android map openstreetmap osmdroid

我使用Open Street Map实现了一个应用程序,我使用OSM android作为库。之前我工作得很好,但最近我运行了应用程序,它根本没有显示地图图块。我多次更换了瓷砖提供商,但它没有用。

这是我的代码:

public class OsmMapActivity extends SherlockActivity {

protected MapView mapView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(getLayoutId());

        initialiseMap();
    }

    protected void initialiseMap(){
        mapView = (MapView)findViewById(R.id.mapView);                        
        mapView.setTileSource(TileSourceFactory.MAPQUESTOSM); //Mapink and other providers do not work
        mapView.setMultiTouchControls(true);
    }
}

另外,OSM android是否支持第三方提供商?我有自己的OSM磁贴服务器,当我使用Javascript显示地图时效果很好,但它在Android代码中不起作用。

OnlineTileSourceBase tileSource = new XYTileSource("MyOSM", null, 1, 19, 256, ".png", new String[]{"http://tactile.myserver.com/osm_tiles"});
TileSourceFactory.addTileSource(tileSource);
mapView.setTileSource("MyOSM");

您的回答将不胜感激。感谢。

编辑: 我正在使用 osmdroid-Android的4.2.jar Android 4.0.3

当我更仔细地看到它时,我可以看到地图拼贴很短的时间,然后另一层覆盖它。我从地图中删除了除基础图层以外的其他图层,但没有任何更改。

1 个答案:

答案 0 :(得分:0)

    MapController mapController;
    MapView map = (MapView) root.findViewById(R.id.map);
    map.setTileSource(TileSourceFactory.MAPQUESTOSM);
    map.setBuiltInZoomControls(true);
    map.setMultiTouchControls(true);
    mapController = map.getController();
    myLocationoverlay = new MyLocationNewOverlay(map);
    myLocationoverlay.setEnabled(true);
    map.getOverlays().add(myLocationoverlay);
    mapController.setZoom(9.5);
    GeoPoint startPoint = new GeoPoint(35.744198, 51.4285752);
    mapController.setCenter(startPoint);