I am looking for someone to set up an OpenLayers slippery map with dynamic points of interest. See: [url removed, login to view] for a tutorial, here: [url removed, login to view] for a working example, and here: [url removed, login to view] for openlayers demos.
The data for the POIs is stored in a database with a dozen or so tables. One table holds basic information about the POI such as lat/long, POI type, contact, name, etc. The other tables hold information specific to a POI type. For example, restaurants have different information than hotels.
Map data, i.e. roads and physical features, will be provided in .osm file. A way to easily update the map by uploading a new .osm file needs to be provided.
Left clicking on a POI will bring up a small text bubble with a photo, a short bit of text, links, and an information bar.
The path to the photos is based on a logical construction of information contained in the database. For example, say there is a hotel in Detroit. The photos will be in /NorthAmerica/USA/Michigan/Detroit/Lodging/HotelName. The photo displayed in the text bubble would be /NorthAmerica/USA/Michigan/Detroit/Lodging/HotelName/Photos/1.jpg. Clicking on the photo in the text bubble should open a gallery showing the rest of the photos in that folder as a slide show.
The short bit of text is stored in the database.
Links: there should be two links/buttons. One should be a link to open another page in a new window/tab. The other should expand the bubble dramatically, and display the same other page in the bubble.
Information bar: This will display information specific to the POI type. For a restaurant, this would be things like rating and price, and for an activity it would be something like difficulty and duration. This information will be text/numbers or a rating on a 5 star.
There needs to be a filter on the left of the map. Each POI has a type, subtype, and subsubtype. There should be a tree menu, and check boxes to filter selections. In addition to filtering by the types, certain types need to have filters based on information stored in the data base. For example, hotels, and each of the subtypes of hotels, needs to have a filter based on min/max rating, min/max price, etc. Details about these will be provided on bid selection.
It is important that the filter dynamically update based on the area displayed in the maps. For example, if there are no POIs of a certain type displayed on the map, the filter for that particular type should not be displayed. However, if it is possible/easy, the settings of the filter should be retained. So, for example, say a user selects a filter for hotels with a rating higher than 4 stars. If they pan to an area with no hotels, that filter should be removed from the filter menu. But when they navigate back to an area with hotels, the filter should reappear, and remember that the user wants hotels above 4 stars.
Basic features of a slippery map such as scroll zoom, pan, etc should be present. In addition, there should be a scale and a copyright attribute to OpenStreetMap.
There needs to be a way for the map to be opened centered on a POI with the information bubble open. For example, /map?id=200 needs to open on the POI with the id number 200.
A Mapnik rule set will be provided for rendering. It should be easy to change this rule set, and update the map.
Graphic design is relatively simple. The winning bid will be provided the graphic design of the other page. The graphics of the map/filter menu will just need to be similar.