【问题标题】:Space between GroundOverlays using Google Map Android API v2GroundOverlays 之间的空间使用 Google Map Android API v2
【发布时间】:2013-02-01 07:00:38
【问题描述】:

我使用 Openstreetmap 图块作为 GroundOverlays,使用 Google Map Android API v2(即 osmdroid 不是一个选项)创建了一个离线地图,但有一个小问题:在缩放级别大于 14 时,一些图块的大小为 1-3它们之间的像素空间。其他瓷砖完美排列。它们之间有空格和没有空格似乎是随机的。

我使用 JTileDownloader 下载图块,然后获取所需的图块(使用我下载并放置在设备文件系统中的 here) 描述的技术,然后获取图块的 LatLngBounds,然后将它们放在循环为:

groundOverlay = mMap.addGroundOverlay(new GroundOverlayOptions()
                    .image(BitmapDescriptorFactory.fromBitmap(mBitmapImage))
                    .positionFromBounds(tileBoundsArray[i])
                    .transparency((float)0));

我已验证瓷砖的经纬度应该对齐。我还验证了所有位图的大小相同。我还使用 UrlTileProvider 尝试了这个特定的图块集,它工作正常,所以图块没有问题。我已经为此苦苦挣扎了好几天,希望有任何建议。我在其他任何地方都没有发现任何解决这个问题的地方。谢谢!

【问题讨论】:

  • 您使用groundoverlay而不是tileprovider的任何原因?
  • 这就是我最终所做的 - 切换到 tileprovider。

标签: openstreetmap android-maps-v2


【解决方案1】:

我终于找到了答案。我必须在瓦片的纬度上指定地图瓦片的宽度(以米为单位)(我使用瓦片的中心)。谷歌地图使用墨卡托投影,这意味着地图的宽度取决于纬度。您可以使用 GoundOverlay.setDimensions(width) 指定宽度。 This页面给出了如何计算宽度的解释。

【讨论】:

    猜你喜欢
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    • 2013-01-01
    • 1970-01-01
    • 2016-03-22
    • 1970-01-01
    • 2013-01-20
    • 1970-01-01
    相关资源
    最近更新 更多