This is a simple Leaflet map using a static GeoJSON file (BaseBallFinal.json) I use JQuery's getJSON function to read the file. I start with the basic map view and basemap, here I use osm (OpenStreetMap), define what the layer is going to look like, I chose circleMarker, and define the popup format and data. Last I read the GeoJSON file and add the data to the layer.
<!DOCTYPE html> <html> <head> <title>GeoJSON tutorial - Leaflet</title> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.0.3/dist/leaflet.css" /> <script src="https://unpkg.com/leaflet@1.0.3/dist/leaflet.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<style> #map { width: 800px; height: 600px; } </style>
</head> <body> <div id="map" > </div> <script> var url = 'BaseBallFinal.json'; // my GeoJSON data source, in the same folder as my HTML file.
var map = L.map('map').setView([37.52715,-96.877441], 4); var osm=new L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png',{ attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'});
var geojsonMarkerOptions = { 'radius':6, 'opacity': .5, 'color': "red", 'fillColor': "blue", 'fillOpacity': 0.8 }; function forEachFeature(feature, layer) { var popupContent = "<p>The <b>" + feature.properties.Team + "</b> play here,</br> They are in the " + feature.properties.League + "</br>" + '<a href="'+ feature.properties.Website +'" target="_blank">Website</a></p>' ; if (feature.properties && feature.properties.popupContent) { popupContent += feature.properties.popupContent; } layer.bindPopup(popupContent); };
//var bbTeam = L.geoJSON(null, {onEachFeature: forEachFeature, style: style}); var bbTeam = L.geoJSON(null, { onEachFeature: forEachFeature, pointToLayer: function (feature, latlng) { return L.circleMarker(latlng, geojsonMarkerOptions); } });
// Get GeoJSON data and create features. $.getJSON(url, function(data) { bbTeam.addData(data); }); bbTeam.addTo(map);
</script> </body> </html>