osmdroid - 将 Geo 服务器与 osmdroid 链接

标签 osmdroid geoserver

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

  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/193 HTTP 响应:未找到

最佳答案

您的服务器对该层有 4 个不同的 URL:

<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"/>

您的图 block 最终太小这一事实表明您正在使用 ESPG:4326 (latlon) 而不是 Google Web Mercator (EPSG:900913)。

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

关于osmdroid - 将 Geo 服务器与 osmdroid 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42398739/

相关文章:

javascript - Web 服务、WCS、WFS、WMS(地理服务器)等的单点登录

java - OSMBonuspack RoadManager NetworkOnMainThreadException

java - osmdroid:加载自定义图 block 源时显示的图 block 困惑

android - 从谷歌地图转换为开放街道 map (osmdroid)

postgresql - 您可以使用 Geoserver 中的 SQL View 将新的数据库记录插入到 PostGis 数据存储中吗?

python - GeoServer REST API - 通过 PUT 请求创建图层时,如何指定与文件名称不同的图层名称?

android - 更改 OSMDroid 的 MyLocationOverlay 标记

android - Osmdroid 和 Pinch

android - android 上可读性差的 wms 层 - 传单

java - 在 JBoss-AS 7 上部署 geoserver.war