default filtering

by Tristen Brown

HTML

<script src="https://api.tiles.mapbox.com/mapbox-gl-js/v0.46.0/mapbox-gl.js"></script>
<link rel="stylesheet" href="https://api.tiles.mapbox.com/mapbox-gl-js/v0.46.0/mapbox-gl.css">
<style>
  body {
    margin: 0;
    padding: 0;
  }

  #map {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
  }

</style>
<div id="map"></div>

Babel + JSX

mapboxgl.accessToken = 'pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4M29iazA2Z2gycXA4N2pmbDZmangifQ.-g_vE53SD2WrJ6tFX7QHmA';

const style = {
	"version": 8,
	"sources": {
		"composite": {
			"url": "mapbox://mapbox.mapbox-streets-v7",
			"type": "vector"
		}
	},
	"layers": [{
		"id": "country-label",
		"type": "circle",
		"source": "composite",
		"source-layer": "country_label",
		"filter": [
      "any",
      ["==", ["geometry-type"], "Point"],
      ["==", ["geometry-type"], "LineString"],
			["==", ["geometry-type"], "Polygon"],
			[
       "has",
     	 "name"
     ]
    ]
	}],
	"owner": "tristen"
};

new mapboxgl.Map({
	container: 'map',
	style: style,
	center: [0, 0],
	zoom: 3
});