Mapbox.js is no longer in active development. To learn more about our newer mapping tools see Mapbox GL JS.

Styled markers from CSV data

Using Leaflet Omnivore and L.mapbox.featureLayer, apply style defined by the Simplestyle spec.

<!DOCTYPE html>
<meta charset=utf-8 />
<title>Styled markers from CSV data</title>
<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
<script src='https://api.mapbox.com/mapbox.js/v3.3.1/mapbox.js'></script>
<link href='https://api.mapbox.com/mapbox.js/v3.3.1/mapbox.css' rel='stylesheet' />
  body { margin:0; padding:0; }
  #map { position:absolute; top:0; bottom:0; width:100%; }
<script src='https://api.mapbox.com/mapbox.js/plugins/leaflet-omnivore/v0.2.0/leaflet-omnivore.min.js'></script>

<div id='map'></div>

L.mapbox.accessToken = '<your access token here>';
var map = L.mapbox.map('map')
    .setView([38, -95.0], 4)

// omnivore will AJAX-request this file behind the scenes and parse it:
// note that there are considerations:
// - The CSV file must contain latitude and longitude values, in column
//   named roughly latitude and longitude
// - The file must either be on the same domain as the page that requests it,
//   or both the server it is requested from and the user's browser must
//   support CORS.

// The omnivore functions take three arguments:
// - a URL of the file to fetch
// - options to the parser
// - a custom layer
// And they return the custom layer, which is by default an L.geoJson layer.
// The second two arguments are each optional. In this case we're supplying
// no arguments to the parser (null), but supplying a custom layer:
// an instance of L.mapbox.featureLayer
// This means that rows with simplestyle properties will be styled as they
// would be in GeoJSON and elsewhere.
omnivore.csv('/mapbox.js/assets/data/simplestyle.csv', null, L.mapbox.featureLayer()).addTo(map);
to create your own custom map and use it in this example.
Use this example by copying its source into your own HTML page and replacing the Map ID with one of your own from your projects. Having trouble with JavaScript? Try out Codecademy or contact our support team.
Copy example