Además de Mapbox y GoogleMaps qxisten alternativas para trabajar con mapas muy flexibles basadas en JavaScript.
OpenLayers librería muy interesante para crear todo tipo de mapas: https://openlayers.org
Maptalks permite trabajar con mapas en 2D y 3D: https://maptalks.org/. Cuenta con plugins desarrollados por usuarios para interacción con D3js: https://maptalks.org/plugins.html.
Leaflet con layers, markers e infowindows personalizables: https://leafletjs.com/examples.html. Con él podemos construir el mapa con datos por provincias: https://leafletjs.com/examples/choropleth/
Kartograph, mapas vectoriales interactivos: http://kartograph.org. Con el que podemos hacer animaciones como esta: http://kartograph.org/showcase/italia/ o resolver clustering: http://kartograph.org/showcase/clustering/
Polymaps. Trabajo con mapas vectoriales y raster: http://polymaps.org/. Mapa de fotos de flickr Geolocalizadas: http://polymaps.org/ex/flickr.html
Lista bastante exhaustiva de frameworks del wiki de OSM: https://wiki.openstreetmap.org/wiki/Frameworks