2016-04-18 35 views
0

我在Mapbox Studio中做了一個樣式,並想知道是否可以在Leaflet項目中使用該樣式。我有一個樣式URL和我的訪問令牌,但不是一個Mapbox ID。我如何使用Leaflet進行這項工作?可能嗎?是否可以在Leaflet中使用Mapbox進行製作的樣式?

風格的URL:mapbox://款式/ gustavsvensson/cin1hwd9a00bncznomsx507se

+0

是否將自己的風格上傳到了Mapbox? – BDD

回答

1

您需要將其上傳到網上Mapbox或使用其企業制度阿特拉斯服務器,讓您的Mapbox ID。他們有一個免費帳戶,您可以放置​​它並獲取您的樣式ID。

下面是一個示例代碼片段,我用我在Studio中創建的一種地圖樣式進行了測試,它的工作原理如下。請注意,我需要提供密鑰,我的用戶名和Mapbox ID才能使拼貼正確呈現。

<!DOCTYPE html> 

<html> 
    <head> 
     <meta charset=utf-8 /> 
     <title>Add styles made with Mapbox Studio to a Leaflet map</title> 
     <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' /> 
     <script src='https://api.mapbox.com/mapbox.js/v2.4.0/mapbox.js'></script> 
     <link href='https://api.mapbox.com/mapbox.js/v2.4.0/mapbox.css' rel='stylesheet' /> 
     <style> 
     body { margin:0; padding:0; } 
     #map { position:absolute; top:0; bottom:0; width:100%; } 
     </style> 
    </head> 
    <body> 
     <div id='map'></div> 
     <script> 
     L.mapbox.accessToken = '<Your access token here'; 
     var map = L.map('map').setView([38.97416, -95.23252], 15); 


     // Add tiles from Mapbox Style API(https://www.mapbox.com/developers/api/styles/) 
     // Tiles are 512x512 pixels and are offset by 1 zoom level 
     L.tileLayer(
     'https://api.mapbox.com/styles/v1/<mapbox username>/<style ID>/tiles/{z}/{x}/{y}?access_token=' + L.mapbox.accessToken, { 
      tileSize: 512, 
      zoomOffset: -1, 
      attribution: '© <a href="https://www.mapbox.com/map-feedback/">Mapbox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>' 
     }).addTo(map); 
     </script> 
    </body> 
</html> 
相關問題