我一直在尝试从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响应:未找到
答案 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很有可能。