【问题标题】:Osmdroid XYTileSource passing X and Y paramatersOsmdroid Tile Source 分配 X 和 Y 参数
【发布时间】:2015-12-18 10:10:48
【问题描述】:

我是这个路由和地图领域的新手。我有一个基本的,也许是愚蠢的问题。我使用 osmdroid 从一个看起来像这样的 URL 显示一个图块

http://tile01-cdn.maptoolkit.net/terrain/15/17789/11515.png

其中15代表缩放, 17789 X 值和 11515 Y

现在,当我想使用 osmdroid 在地图中显示此图块时,我不知道应该使用哪种 TileSource。最明显的是XYTileSource,但构造函数没有任何 x y 参数要传递,但我在互联网上看到很多问题/答案,人们使用相同的对象但使用不同的构造函数。我在这里猜测 lib 中的代码已更改。当前构造函数:

XYTileSource(String aName, int aZoomMinLevel, int aZoomMaxLevel, int aTileSizePixels, String aImageFilenameEnding, String[] aBaseUrl) 

所以我的问题是如何在 osmdroid 地图中显示我的这个瓦片地图,我应该使用哪种ITileSource?我应该实现自己的自定义吗?

这就是我尝试的方式:

final ITileSource tileSource = new XYTileSource("Maverik", 15, 17789, 11515, ".png", new String[] {"http://tile01-cdn.maptoolkit.net/terrain/"});
        tileProvider.setTileSource(tileSource);

我得到一个空的MapView

【问题讨论】:

    标签: android maps osmdroid


    【解决方案1】:

    osmdroid 的目的是显示世界地图 - 有很多瓷砖。并根据“地图视图”的中心位置显示适当的图块(该中心定义为:纬度、经度和缩放级别)。

    如果这也是你想要的:

    1) 作为示例,查看 osmdroid 中包含的默认切片源,位于 TileSourceFactory

    2) 然后你可以试试这样的:

    OnlineTileSourceBase tileSource = new XYTileSource("Maverik", 
      0, 17, 
      256, ".png", 
      new String[] {
        "http://tile01-cdn.maptoolkit.net/terrain/", 
        "http://tile02-cdn.maptoolkit.net/terrain/",
        "http://tile03-cdn.maptoolkit.net/terrain/"
      });
    mapView.setTileSource(tileSource);
    

    【讨论】:

    • 感谢提示,在我问这个问题之前,我尝试使用默认的平铺源,例如:mMapView.setTileSource(TileSourceFactory.PUBLIC_TRANSPORT); 但没有结果。我仍然总是得到一个空网格。我已经在清单中添加了我在问答中找到的所有权限,但存在同样的问题。
    • 从基本的“Hello osmdroid World”教程开始(github.com/osmdroid/osmdroid/wiki/…)。如果您仍然有灰色网格,那么问题出在您的项目配置中。
    【解决方案2】:

    您可能还想查阅 osmdroid wiki 和示例应用程序的源代码。有大量关于如何使用我们所知道的几乎所有图块来源的示例。我们还会在发现它们时添加更多内容。

    https://github.com/osmdroid/osmdroid/wiki

    您无需担心 X 和 Y 坐标。它们实际上不是纬度/经度坐标,而是网格参考。 Open Street Maps 和许多其他瓦片源使用相同或相似的瓦片坐标系。从一个图像中的世界开始。 Zoom =1 将其分为 4 个部分。那是您的 X、Y 和缩放坐标。缩放=2级,把我们开始的4个瓦片再分成4个,我们有16个瓦片。

    【讨论】:

    • 感谢您的解释,我已经浏览了 wiki。我选择 osmdroid 的原因之一是因为文档 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-02
    • 1970-01-01
    • 1970-01-01
    • 2020-04-25
    • 2021-11-01
    • 2018-02-09
    • 1970-01-01
    相关资源
    最近更新 更多