android - 如何在 Mapbox 4.1 中添加自己的图 block

标签 android ios mapbox

我有一个作为 url 的图 block 源,想将它们添加到我的 map 中。 我可以使用 Google MapOSMDroid 来做到这一点,但我不知道如何使用 Mapbox 来解决这个问题。

我的网址格式为 "http...mysource..x=..y=..z=.."

我已经看到了针对网络的解决方案,但我没有找到针对移动设备的这种方法。

最佳答案

我假设您有一个 tile 服务器的 URL,例如 http://server/tiles/{z}/{x}/{y}.png 如果是这样,请更新您的问题.

请参阅此 Mapbox 示例,https://www.mapbox.com/android-sdk/examples/custom-raster/添加自定义 Mapbox 样式。请注意 setStyleUrl 的参数。打开该 json 文件并检查它。

mapView.setStyleUrl("https://www.mapbox.com/android-sdk/files/mapbox-raster-v8.json");

然后您需要创建两个 JSON 文件。看这个project (适用于 iOS,但 JSON 文件对于 Android、Web 和 iOS 是相同的。)。


tile.json 示例

{
    "name": "geography-class",
    "version": "1.0.0",
    "description": "",
    "type": "overlay",
    "format": "png",
    "minzoom": 0,
    "maxzoom": 8,
    "bounds": [-117.30596604, 32.78617375, -117.21820077, 32.88817706],
    "scale": "1",
    "profile": "mercator",
    "tiles": ["http://server/tiles/{z}/{x}/{y}.png"],
    "tilejson": "2.0.0",
    "scheme": "xyz"
}

Mapbox Style JSON,把它放在 setStyleUrl() 的参数中

{
  "version": 8,
  "sources": {
    "yourTileLayer": {
        "url": "http://server/tiles/tile.json",
        "type": "raster",
        "tiles": [
                  "http://server/tiles/{z}/{x}/{y}.png"
                  ],
        "tileSize": 256
    }
  },
  "layers": [
    {
      "id": "yourTileLayer",
      "type": "raster",
      "source": "yourTileLayer"
    }
  ]
}

关于android - 如何在 Mapbox 4.1 中添加自己的图 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40411025/

相关文章:

android - 每当想要从 android c 将数据发布到服务器以执行登录时,是否必须执行异步任务

ios - 如何分发企业 iOS 应用程序?

javascript - Mapbox GL js - 围绕给定坐标径向添加多个标记

javascript - 缓存mapbox平铺图像

android - onCreateContextMenu 未被调用

android - 从 Material 轮廓按钮更改颜色不起作用

java - Android ClassNotFoundException 在路径 : DexPathList 上找不到类

ios - IOS 中的 GCM 通知未显示在状态栏上

ios - 如何在 Delphi 中构建 Apple 推送通知提供程序服务器

javascript - 如何在 OpenLayers 4.2.0 中设置 VectorTile 图层的范围?