![Gitter](https://badges.gitter.im/Join Chat.svg)
CMV is a community-supported open source mapping framework. CMV works with the Esri JavaScript API, ArcGIS Server, ArcGIS Online and more.
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.
- 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
- 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.
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
![Gitter](https://badges.gitter.im/Join Chat.svg)
See the GitHub Releases for change logs for all versions of CMV.
There are many ways to contribute to CMV:
-
Tell your friends and colleagues - We are a community of developers. Help spread the CMV love and help the community grow.
-
Create documentation Please contribute to the cmv documentation repo.
-
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.
-
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.
-
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.
-
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.
-
Propose a Feature - If there is a feature you would like to request, add it to the issues list for consideration.
-
Submit an Issue - If you find a possible bug, please submit an issue in the issues log. If possible, try to reproduce the issue in a JSBin. This will enable a faster response from developers by allowing us to reproduce the issue. See starter JSBin below.
You can get a quick feel for how configuring CMV works by using this JSBin link. The JSBin is set up to use the main config file js/config/viewer
as a variable so users can quickly change config settings and see the result in real time. This can also be used to help diagnose and reproduce potential bugs with CMV.