I need a Flex component where a user can manage a collection of locations implementing the Google Maps and Google Geocoding API. The component is passed an ArrayCollection of location objects. Each location's "longitude" and "latitude" elements determine the marker overlay positions on the map and the contents of a list for displaying additional properties. The selection of list items and markers are bound, and return the appropriate location object when selected.
The component will allow the user to select additional locations using a draggable marker and return the newly selected location when conditions are met. The process of selecting new locations occurs in three steps: "State Selection", "County Selection" and "Location Selection". Existing locations remain selectable in all stages.
- The map view is set so the entire U.S. is visible and cannot be scrolled or zoomed.
- The draggable marker displays the U.S. State in which the marker is located. It displays the existing locations associated with that State and a "View State" button.
- Clicking the "View State" button directs to the "County Selection" view of the selected State.
- The map's view is set so the entire selected U.S. State is visible and cannot be scrolled or zoomed.
- The draggable marker displays the state and county it is located and associated collection locations.
- A "View County" button directs to the "Location Selection" view.
- A "Select State" button returns you to the "State Selection" view.
-The map's view is set so the entire selected county is shown.
-Map is scrollable and zoomable, but not zoomable above the county scope. May scroll within the U.S. boundaries.
- "Select County" and "Select State" buttons return users to the previous views.
-Dragging the marker is disabled unless the Geocoding 'location_type' element is set to "ROOFTOP".
- When a location is valid, The geocoded results are displayed and "Add Location" button become active.
-Clicking the "Add Location" returns the new location object.
The component will need to accept parameters that define a public or private display (the draggable marker is not available and map views are limited to those defined in the "State Selection" view if public). Additionally, parameters defining the starting view of the component and the view's respective values required for functionality. ex: Starting in the "Location Selection" would also require the state and county values to be passed to the component.
Thank you for your time and interest.