2017-04-24 97 views
1

我正在從反饋小冊子切換到mapbox-gl,並對我用於空間數據的專有瓷磚服務有個疑問。這個API幾乎沒有文檔。他們提供了4種不同的方式來請求瓷磚。如何將tile源實現爲mapbox-gl

DRAW MAP TILE - PNG地圖瓦片具有透明背景根據以像素爲單位的圖像尺寸,以十進制度的緯度經度邊界框,選擇層(S)和默認樣式被創建。請參閱個別功能以獲取樣式名稱的完整列表。

繪製靜態圖TILE - 根據圖像大小以像素爲單位,以十進制度爲單位的緯度座標,縮放級別,選定圖層和默認樣式創建具有透明背景的PNG地圖圖塊。請參閱個別功能以獲取樣式名稱的完整列表。

BING NON CACHE - 根據Bing Maps API Quadkey,選定圖層和默認樣式創建具有透明背景的PNG地圖圖塊。請參閱個別功能以獲取樣式名稱的完整列表。

GOOGLE NON CACHE - 根據Google Maps API X,Y和縮放值,選定圖層和默認樣式創建具有透明背景的PNG地圖圖塊。請參閱個別功能以獲取樣式名稱的完整列表。

對於單張我用谷歌的端點插件「反應小葉,谷歌」

_coreLogic =() => { 
    const {authKey} = this.props 
    const baseUrl = 'http://sws.corelogic.com/api/v3.0.0/tile/gmap?' 
    const zoom = this._map.getZoom() 
    const type = 'layers=fass%3Aparcel&styles=parcelpolygonorange' 
    this.setState({coreLogicUrl: `${baseUrl}x={x}&y={y}&zoom=${zoom}&${type}&authKey=${authKey}`}) 
    } 

    <LayersControl.Overlay checked name='CoreLogic Parcel'> 
    <LayerGroup> 
     <TileLayer url={coreLogicUrl} /> 
    </LayerGroup> 
    </LayersControl.Overlay> 

的偉大工程。切換到mapbox-gl有點混亂。我不確定它是否是柵格,矢量或圖像層。我盲目地嘗試了不同的方式,但沒有運氣。 api有一個使用apis的演示。

這裏是什麼

DRAW地圖瓦片

模樣。

First option

http://sws.corelogic.com/api/v3.0.0/map?width=500&height=500&layers=fass%3Aparcel&styles=parcelpolygonorange&bbox=-74.025879%2C40.705628%2C-74.014893%2C40.713956&authKey=0x7Y0z3K8dnC79y0HwAAtXNUNHHit

而第二個選項

DRAW靜態地圖TILE

看起來像

second option

http://sws.corelogic.com/api/v3.0.0/map?width=600&height=600&layers=fass%3Aparcel&styles=parcelpolygonorange&lat=40.709792&lon=-74.020386&zoom=15&authKey=0x7Y0z3K8dn

回答

1

你可能需要一個raster tile source。 Mapbox僅支持x/y/z瓦片座標(不是lat-longs或Bing quadkeys)給出的光柵圖塊,因此排除前三個選項,僅留下Google NON CACHE PNG API端點。

您的代碼看起來類似:

map.addSource('tiles', { 
    type: 'raster', 
    tiles: ['BASEURL/x={x}&y={y}&zoom=${z}&TYPEANDAUTHKEYANDSTUFF'] 
}); 

你使用似乎並沒有成爲網絡上找到的API,所以我不能比這更具體。