1

I have some data hosted on mapbox and I'm trying to load it as tiled geojson into Leaflet from its mapbox id (I just want to get plain geojson, I'm not trying to render it). How can I achieved that?

I tried this snippet:

L.mapbox.accessToken = 'myAccessToken';

var featureLayer = L.mapbox.featureLayer('myDataId');

but it doesn't work, I get the following error:

" could not load features at http://a.tiles.mapbox.com/v4/"myDataId"/features.json?access_token="myAccessToken" "
0

3 Answers 3

4

I also haven't been able to get L.mapbox.featureLayer() to load vectors I've uploaded to MapBox. Vector Tile source .mbtiles files are no longer .geojsons but have been converted into a bunch of tiled .svgs combined into one .mbtiles file, so I'm not sure if mapbox.js has the ability to render vector .mbtiles the same was it renders hosted .geojson files.

If you want to render the vector tileset on your map, try styling it in Mapbox Studio and uploading the style project to MapBox (docs).

EDIT

OK, so looks like there are two different ways to import vector data into mapbox:

  1. as a .geojson within the MapBox Editor.

enter image description here

  1. as a vector .mbtiles set, uploaded via MapBox Studio or from the MapBox Uploads page.

Data uploaded via the first method can be loaded onto a map with L.mapbox.featureLayer. Data uploaded via the second method (tiled) must be first given a style in MapBox Studio (see link above) or rendered in a mapbox-gl map.

In summary: it is not possible to access the geojson data of a vector tiles source.

2
  • You're right, it works with the mapbox editor. I don't find a way to import my data in the editor directly from mapbox though. Jan 27, 2015 at 21:29
  • coincidentally, mapbox just blogged about the difference between MapBox Studio and the MapBox Editor. Jan 27, 2015 at 21:34
1

what about

 L.mapbox.featureLayer('your_id').addTo(map);

Just tested it again and it works fine. Have you added these two lines with the up to date API and CSS?

<script src='https://api.tiles.mapbox.com/mapbox.js/v2.1.5/mapbox.js'></script>
<link href='https://api.tiles.mapbox.com/mapbox.js/v2.1.5/mapbox.css' rel='stylesheet' />

enter image description here

7
  • It's nearly the same answer as Klaser. I still have the same error with this : / Jan 27, 2015 at 16:06
  • The difference is the addtoMap method, so you add the layer to your map before you load the content.works fine here.perhaps post a bit more of your code to get an idea where's the problem
    – Thomas B
    Jan 27, 2015 at 16:39
  • Could you give me the link to the fiddle please? I'll try to reproduce it with my id. Jan 27, 2015 at 20:31
  • i just replaced my id/token with substitutes so you can fill in your id/token: jsfiddle.net/expedio/uh6ub3tf
    – Thomas B
    Jan 27, 2015 at 20:47
  • ok, it doesn't work for me. I only get the background tiles. I guess it's a problem with my data format but I don't know how to check that. I made my data available to public api: yowza.14a37d8d Jan 27, 2015 at 20:57
0

I'm not a MapBox-User, but the syntax to get the feature layer seems to be a bit different: https://www.mapbox.com/mapbox.js/api/v1.6.1/l-mapbox-featurelayer/

Try this:

var featureLayer = L.mapbox.featureLayer()

// loads markers from the map `examples.map-0l53fhk2` on Mapbox,
// if that map has markers
featureLayer.loadID('examples.map-0l53fhk2');
3
  • I think that my syntax works in the last version of the api. L.mapbox.featureLayer(id|url|geojson, options) I tried your syntax but my error is still the same. Jan 26, 2015 at 18:31
  • Hmm, you're right. I missinterpreted the doc earlier and I don't see why var featureLayer = L.mapbox.featureLayer('map-id') isn't working. Sorry I can't be of better help. Have you double-checked the map ID in your code? Has it worked in different contexts?
    – Klaster
    Jan 26, 2015 at 23:50
  • The map ID is good and I can load my data in mabox studio. Jan 27, 2015 at 16:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.