A community-supported open source mapping framework built with the Esri JavaScript API and the Dojo Toolkit
Latest commit 7052700 Feb 9, 2016 @tmcgee tmcgee Merge pull request #505 from mgd722/master
Added 'draggable' property to identify config object


CMV - The Configurable Map Viewer

Read The Docs Gitter Build Status


CMV is a community-supported open source mapping framework. CMV works with the Esri JavaScript API, ArcGIS Server, ArcGIS Online and more.

Make It Your Own!

This JavaScript web app can be easily configured or used as a boilerplate/starting point for basic viewers. It also demonstrates best practices for modular design and OOP via classes in JS using dojo's great declare system.

Try The Demo:


screen shot 2014-08-20 at 9 59 48 pm

Widgets Included:

  • Base Maps
  • Bookmarks
  • Directions
  • Draw
  • Editor
  • Find
  • Geocoder
  • Growler
  • Help
  • Home
  • Identify
  • Layer Control (Table of Contents)
  • Legend
  • Locate Button (Geolocation)
  • MapInfo
  • Measure
  • Overview Map
  • Print
  • Scalebar
  • StreetView
  • Map Right click menu with various widget functions.
  • Highly configurable UI, right or left sidebars with widgets in both, top and bottom regions for other content.

Read more about the core widgets. In addition, there is a growing number of widgets contributed by the CMV developer community.


Use the documentation for getting started and guidance on configuring your application. The initial documentation is sparse. Please help make it better by contributing over at the cmv documentation repo.

Read The Docs


We have a gitter.im chat room. Come on by if you have questions. The community is very helpful. https://gitter.im/cmv/cmv-app


Change log:

See the GitHub Releases for change logs for all versions of CMV.

Contributing to the Project

There are many ways to contribute to CMV:

  1. Tell your friends and colleagues - We are a community of developers. Help spread the CMV love and help the community grow.

  2. Create documentation Please contribute to the cmv documentation repo.

  3. Answer Questions at Stack Exchange - gis.stackexchange.com is the prime destination for our Frequently Asked Questions (FAQs). Please answer questions and help new developers get more comfortable with CMV.

  4. Join the Chat Room - Lots of us in CMV community hang out in the chat room on Gitter. Feel free to hangout with us, answer questions and throw out ideas.

  5. Submit a Pull Request - If you are developer and have an enhancement or bug fix you would like to submit, pull requests are welcome. Please review the Contributing on GitHub documentation before submitting any Pull Requests.

  6. User contributed widgets - For general information on how to build a CMV widget read the docs. Users can submit widgets to the cmv-contrib-widgets repo. These widgets are created and submitted by users. Head on over and read the details.

  7. Propose a Feature - If there is a feature you would like to request, add it to the issues list for consideration.

  8. Submit an Issue - If you find a possible bug, please submit an issue in the issues log.