OSM安卓不显示地图磁贴

问题描述 投票:0回答:1

我用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安卓系统是否支持第三方供应商?我有自己的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");

希望得到您的回答。谢谢你的回答。

EDIT:我用的是osmdroid-android-4.2.jarAndroid4.0.3。

当我更仔细地观察时,我可以看到地图瓦片很短的时间,然后另一个层覆盖在上面。我从地图中删除了除了基础层以外的其他图层,但是没有任何变化。

android map openstreetmap osmdroid
1个回答
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);
© www.soinside.com 2019 - 2024. All rights reserved.