GeoWebCache和osmdroid

3

我有一个GeoWebCache地理服务器,现在我想将其作为我的安卓应用程序的切片源。我该怎么做?这是否可行?我的尝试:

    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(); 

当使用tilesURL,其值为http://82.146.41.127:8080/geoserver/gwc/。结果如下:

03-02 12:01:25.195: W/o*.o*.t*.m*.MapTileDow*(900): 下载地图瓦片时出现问题:/14/10434/5118 HTTP响应:HTTP/1.1 400 Bad Request

此外,我应该使用什么类型的URL?我发现tms


你的tilesURL是什么?它有效吗? - Amrut Bidri
@AmrutBidri,tilesURL 是 http://82.146.41.127:8080/geoserver/gwc/。 - Tony
但它是一个字符串数组。我们能否在其中设置仅一个链接? - Amrut Bidri
@AmrutBidri,是的,你说得对。那是一个只有一个元素的数组。 - Tony
1个回答

0
我建议您使用 MapBox SDK。 稍后,您可以将地理服务器链接设置为 WebSourceTileLayer,然后将其设置为瓷砖源。
相当简单的操作!
以下是代码供您参考。
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);

那个东西和 GeoWebCache 服务器兼容吗?另外,你能否在你的应用程序中检查一下它? - Tony
嗨,是的,它与GeoWebCache服务器兼容,你可以放心使用。 - Trideep
你试过了吗?另外,是哪种类型的URL?http://82.146.41.127:8080/geoserver/gwc/service/tms/1.0.0 还是 http://82.146.41.127:8080/geoserver/gwc? - Tony

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接