2015-02-20 8 views
5

Sto provando ad aggiungere mappe di volantini alla mia pagina Web e sto usando le tessere Mapbox. Non riesco a far funzionare la mappa nel tutorial di base, tutto quello che vedo è uno schermo grigio. Ho un id della mapbox e l'ho aggiunto al mio codice. Allegando il codice pertinente di seguito.Problemi con le mappe opuscoli (piastrelle GET mapbox non autorizzate 401)

var map = L.map('map').setView([51.505, -0.09], 13); 
    L.tileLayer('http://{s}.tiles.mapbox.com/v3/rakshak.l937n12c/{z}/{x}/{y}.png', { 
    attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://mapbox.com">Mapbox</a>', 
    maxZoom: 18 
    }).addTo(map); 

e questo è quello che sto vedendo nella console:

GET http://a.tiles.mapbox.com/v4/rakshak.l937n12c/13/4093/2723.png 401 (Unauthorized) 

Nel css ho appena messo l'altezza della mappa per altezza: 100VH.

Tutto quello che vedo sullo schermo sono i controller zoom della mappa e uno schermo grigio. Mi manca un passaggio importante?

Edit 1: aggiornamento del codice JS:

var map = L.map('map').setView([51.505, -0.09], 13); 
L.tileLayer('http://api.tiles.mapbox.com/v4/rakshak.l937n12c/{z}/{x}/{y}.{format}?access_token=pk.eyJ1IjoicmFrc2hhayIsImEiOiJ5cHhqeHlRIn0.Vi87VjI1cKbl1lhOn95Lpw', { 
attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://mapbox.com">Mapbox</a>', 
maxZoom: 18 
}).addTo(map); 
+1

È richiesto un token: vedere https://www.mapbox.com/developers/api/maps/. La tua richiesta dovrebbe essere simile a: 'http://api.tiles.mapbox.com/v4/{mapid}/{z}/{x}/{y}.{format}?access_token='. Hai solo impostato 'mapid' – slaur4

+0

Hey grazie per aver risposto, ho aggiunto il token di accesso dalla schermata del mopbox e vedo ancora uno schermo grigio e lo stesso messaggio di errore nella console. Ho aggiunto il mio codice js di aggiornamento alla mia domanda. – DrkStr

risposta

9

Configurare il tileLayer per includere l'identificativo del tuo mappa e il token dell'utente:

var tileLayer = L.tileLayer('https://{s}.tiles.mapbox.com/v4/{mapId}/{z}/{x}/{y}.png?access_token={token}', { 
    attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://mapbox.com">Mapbox</a>', 
    subdomains: ['a','b','c','d'], 
    mapId: <YOUR MAPID HERE>, 
    token: <YOUR TOKEN HERE> 
}); 

Ecco un esempio di lavoro sul Plunker: http://plnkr.co/edit/Kf3f8h?p=preview

+0

Provato questo, ora sto ricevendo l'errore "Uncaught TypeError: undefined non è una funzione" in line leaflet.js: 7. – DrkStr

+1

Bene, quel codice che ti ho dato, funziona, puoi controllare l'esempio. Cosa posso dire? Ecco un altro Plunker che usa il tuo MapID e Token: http://plnkr.co/edit/kzA9Vw?p=preview, funziona. Cosa stai facendo di sbagliato non riesco a vedere in base al codice che hai fornito. Potresti condividere un Plunker o JSfiddle che ha il tuo problema? – iH8

+0

Non ho mai usato plnkr prima, quindi non sono sicuro di averlo fatto bene. Ecco il link: http://plnkr.co/edit/9TLUXY9zutATHHBdCdMk?p=preview – DrkStr