将Geo服务器与osmdroid链接

时间:2017-02-22 17:47:23

标签: osmdroid geoserver

我一直在尝试从osmdroid上的geo服务器获取WMS Tiles。但到目前为止还没有成功。我只是设法得到一个小版本的瓷砖地理服务器,它位于其他位置。是的,投影是正确的,因为我也在为我的网络应用程序使用同一层 以下是我的代码

  MapTileProviderBasic tileProvider = new MapTileProviderBasic(getApplicationContext());
    XYTileSource tilesource = new XYTileSource("tiger:tiger_roads",0, 18, 256, ".png", new String[]{"http://dev.propertyninja.com:8080/geoserver/gwc/service/tms/1.0.0"}) {
@Override
 public String getTileURLString(MapTile aTile) {
                     return getBaseUrl() +"/tiger:tiger_roads/"+aTile.getZoomLevel()+"/"+aTile.getY()+"/"+aTile.getX()+".png";

                    }
    };
    tileProvider.setTileSource(tilesource);
    TilesOverlay tilesOverlay = new TilesOverlay(tileProvider, this);
    tilesOverlay.setLoadingBackgroundColor(Color.TRANSPARENT);
    map.getOverlays().add(tilesOverlay);
    map.invalidate();
}

当我继续放大时,我的logcat产生了这个。 W / OsmDroid:下载MapTile时出现问题:/ 9/147/199 HTTP响应:未找到

1 个答案:

答案 0 :(得分:0)

您的服务器有4个不同的网址:

<TileMap title="Manhattan (NY) roads" srs="EPSG:4326" profile="global-geodetic" href="http://dev.propertyninja.com:8080/geoserver/gwc/service/tms/1.0.0/tiger%3Atiger_roads@EPSG%3A4326@png"/>
<TileMap title="Manhattan (NY) roads" srs="EPSG:4326" profile="global-geodetic" href="http://dev.propertyninja.com:8080/geoserver/gwc/service/tms/1.0.0/tiger%3Atiger_roads@EPSG%3A4326@jpeg"/>
<TileMap title="Manhattan (NY) roads" srs="EPSG:900913" profile="global-mercator" href="http://dev.propertyninja.com:8080/geoserver/gwc/service/tms/1.0.0/tiger%3Atiger_roads@EPSG%3A900913@png"/>
<TileMap title="Manhattan (NY) roads" srs="EPSG:900913" profile="global-mercator" href="http://dev.propertyninja.com:8080/geoserver/gwc/service/tms/1.0.0/tiger%3Atiger_roads@EPSG%3A900913@jpeg"/>

你的瓷砖最终太小的事实表明你使用的是ESPG:4326(latlon)而不是Google Web Mercator(EPSG:900913)。

还有一个问题是您正在为TMS图层使用XYZTileSource - 因此Y coordinate is flipped很有可能。