2016-11-03 70 views
3

我有一个来源瓷砖作为一个网址,并希望将这些添加到我的地图。 我能够做到这一点与谷歌地图OSMDroid,但我不知道如何弄清楚使用Mapbox如何添加自己的瓷砖在Mapbox 4.1

我的网址有我已经看到了网络的解决方案的格式"http...mysource..x=..y=..z=.."

,但我不觉得移动这样的做法。

回答

2

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

请参阅此Mapbox示例,https://www.mapbox.com/android-sdk/examples/custom-raster/以添加自定义Mapbox样式。请注意0​​的参数。打开该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风格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" 
    } 
    ] 
} 
+0

你也可以使用最新的'4.2.0-beta.4 '并将地图源图层添加到地图中。结帐[此示例](https://github.com/mapbox/mapbox-android-demo/blob/master/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/styles/AddWmsSourceActivity.java)演示应用。 – cammace

+1

伟大的样本和数据。谢谢@cammace! – RobLabs