GeoWebCache和osmdroid

时间:2015-03-02 12:11:45

标签: java android openstreetmap osmdroid

我有一个GeoWebCache geo server,现在我想将它用作我的Android应用程序的磁贴源。我怎样才能做到这一点?这甚至可能吗?我的努力:

    mResourceProxy = new ResourceProxyImpl(this.getActivity()
            .getApplicationContext());              
    mapView.setBuiltInZoomControls(true);       

    final MapTileProviderBasic tileProvider = new MapTileProviderBasic(this
            .getActivity().getApplicationContext());
    final ITileSource tileSource = new XYTileSource("es09", null, 3, 14,
            256, ".png", tilesURL);
    tileProvider.setTileSource(tileSource);
    final TilesOverlay tilesOverlay = new TilesOverlay(tileProvider, this
            .getActivity().getBaseContext());   

    mapView.getOverlays().add(tilesOverlay);

    mapView.setTileSource(tileSource);
    mapView.getOverlays().add(this.mMyLocationOverlay);
    mapView.invalidate(); 

tilesURLhttp://82.146.41.127:8080/geoserver/gwc/的位置。结果

  

03-02 12:01:25.195:W / o * .o * .t * .m * .MapTileDow *(900):问题   下载MapTile:/ 14/10434/5118 HTTP响应:HTTP / 1.1 400错误   请求

另外,我应该使用哪种URL?我找到了tms

1 个答案:

答案 0 :(得分:0)

我建议您使用MapBox SDK。 您可以将地理服务器链接设置为WebSourceTileLayer,稍后将其设置为tile源

有点简单!!

添加了供您参考的代码

if (layer.equalsIgnoreCase("OpenStreetMap"))
{
    source = new WebSourceTileLayer(
            "openstreetmap",
            "http://tile.openstreetmap.org/{z}/{x}/{y}.png")
        .setName("OpenStreetMap")
        .setAttribution("© OpenStreetMap Contributors")
        .setMinimumZoomLevel(1)
        .setMaximumZoomLevel(18);
} 
mv.setTileSource(source);