如何在Mapbox 4.1中添加自己的磁贴

时间:2016-11-03 20:52:15

标签: android ios mapbox

我有一个瓷砖来源作为网址,并希望将这些添加到我的地图中。 我可以使用 Google Map OSMDroid 执行此操作,但我不知道如何使用 Mapbox 来解决这个问题。

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

我见过网络解决方案,但我没有找到适合移动设备的方法。

1 个答案:

答案 0 :(得分:2)

我假设您有一个平铺服务器的网址,例如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"
    }
  ]
}