Add a polygon to a map using a GeoJSON source
This example adds a polygon to a map, then colors it blue and makes it slightly transparent.
Upon loading, the map uses addSource
to add GeoJSON data containing one polygon that outlines the state of Maine. Then it uses addLayer
to create a new fill layer and applies paint properties to style the polygon's appearance. To add an outline around the polygon, it uses addLayer again to create a new line layer referencing the same GeoJSON source.
<!DOCTYPE html><html><head><meta charset="utf-8" /><title>Add a polygon to a map using a GeoJSON source</title><meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" /><script src="https://cdn.ndrive.com/nmapsgl/v.1.6.8/nmaps-gl.js"></script><link href="https://cdn.ndrive.com/nmapsgl/v.1.6.8/nmaps-gl.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> // TO MAKE THE MAP APPEAR YOU MUST ADD YOUR ACCESS TOKEN nmapsgl.accessToken = '<your access token here>'; const map = new nmapsgl.Map({container: 'map',style: 'Streets',center: [-68.13734351262877, 45.137451890638886],zoom: 5}); map.on('load', () => {map.addSource('maine', {'type': 'geojson','data': {'type': 'Feature','geometry': {'type': 'Polygon','coordinates': [[[-67.13734351262877, 45.137451890638886],[-66.96466, 44.8097],[-68.03252, 44.3252],[-69.06, 43.98],[-70.11617, 43.68405],[-70.64573401557249, 43.090083319667144],[-70.75102474636725, 43.08003225358635],[-70.79761105007827, 43.21973948828747],[-70.98176001655037, 43.36789581966826],[-70.94416541205806, 43.46633942318431],[-71.08482, 45.3052400000002],[-70.6600225491012, 45.46022288673396],[-70.30495378282376, 45.914794623389355],[-70.00014034695016, 46.69317088478567],[-69.23708614772835, 47.44777598732787],[-68.90478084987546, 47.184794623394396],[-68.23430497910454, 47.35462921812177],[-67.79035274928509, 47.066248887716995],[-67.79141211614706, 45.702585354182816],[-67.13734351262877, 45.137451890638886]]]}}}); // Add a new layer to visualize the polygon.map.addLayer({'id': 'maine','type': 'fill','source': 'maine', // reference the data source'layout': {},'paint': {'fill-color': '#0080ff', // blue color fill'fill-opacity': 0.5}}); // Add a black outline around the polygon.map.addLayer({'id': 'outline','type': 'line','source': 'maine','layout': {},'paint': {'line-color': '#000','line-width': 3}});});</script> </body></html>