Flexible Mapping Engine With WebGL – Cesium
When building any map-related applications, there are many popular providers to select from like Google Maps or Bing Maps and they provide APIs for integration.
However, using an open source engine and the ability to switch providers anytime offers more freedom + flexibility.
It has support for 3 different views: 3D globe, 2D map, and 2.5D Columbus View where transitioning from one to another is just a line of code.
Drawing any type of shapes, highlighting specific regions and interacting with the map using mouse or touch is pretty easy.
Cesium comes as a single JS file and work in all major browsers including mobile.