FIU Maps
Description
This was a application done for my "Senior Project" course at FIU. It is a GoogleMaps/BingMaps (formerly LiveMaps) kind of application; it allows the user to navigate the map, zoom in/out, switch between different views, and find the shortest route from one point to another.
It uses the
ESRI Server Engine to store and fetch required mapping information such as map tiles and relative coordinates.
Other People Involved in Project
Rolando Ramos
Yudiesly Herrera
Jairo Quintana
Detailed Features
Map Navigation
Using the controls at the top left corner of the map a user is able to interact with the map the same ways one expects from mapping services like GoogleMaps and BingMaps. Those include the following: panning controls for navigating north, south, east, west; zooming controls; changing the map views to Road, Aerial, or a Hybrid of the previous two.
For ease of use, most of the controls above can be replicated using the more. For example, pressing the left mouse button and dragging the mouse will cause the map to pan. Also using the scroll-wheel one can zoom in or out.
Source and Destination
By right-clicking anywhere on the map, a context menu opens up with two buttons, "From Here" and "To Here".
Selecting "From Here" places a mark (a blue flag) at the point selected. The "Start" text field in the left panel gets updated with the coordinates at that point. The "To Here" functions almost the same as the "From Here" button. The only difference is that it places a checkered flag instead of a blue one, and it places the coordinates in the "End" text field of the right panel.
The user can also select between "Driving" or "Walking" paths. In either case, when the user wants to get the directions for the selected points, the application will find the closes node with the same type as the option selected. That is, if the user selected "Driving" path and placed his source and destination in the middle of a building or lake, then the application will change the source and destination to the closest roads.
Path and Directions
After selecting a source and a destination, clicking the "Get Directions" button gets paths and step-by-step directions from the source to the destination. At this point the application server has already cached the nodes and edged describing the map, so the only thing the application does now is calculate the shortest path using the A* Algorithm. After the path has been found the application starts synthesizing the directions.
The directions synthesizer keeps track of the directions you need to travel and checks for "drastic" changes in direction. That is going north and doing a 30 degree left turn, hence going north-west. If there is a change but it is not that great, then the application will tell you to keep going straight. The result is then displayed at the bottom of the left panel.
Lastly a transparent yellow line is drawn over the map to have a map-based representation of the path the user needs to take to go from the source to the destination.