bismowibi / learning-map

Frontend Map Dashboard Assessment
0 stars 0 forks source link

Map Engine Integration #2

Open bismowibi opened 1 year ago

bismowibi commented 1 year ago

Objective

The objective of this task is to integrate a map engine into our GeoDashboard application and add basemap tiles to provide a visual foundation for geographic data. Additionally, we need to handle zoom functionality and ensure a smooth user interactive experience.

Task Details

1. Map Engine Integration

a. Map Engine Selection: Choose between react-map-gl or vanilla maplibre for map engine integration. Consider factors like ease of use, compatibility, and community support when making your choice.

b. Set Up Map Engine: Install and configure the chosen map engine library within the Braga GeoDashboard project.

2. Basemap Tiles

a. Basemap Selection: Choose an appropriate basemap style or source that aligns with the GeoDashboard's purpose. Common sources include OpenStreetMap, Mapbox, or custom tilesets.

b. Basemap Integration: Implement the selected basemap tiles within the map engine. Ensure that the basemap serves as the background layer upon which additional spatial data will be overlaid.

3. Zoom Functionality

a. Default Zoom Level: Set an initial default zoom level for the map. This level should provide an appropriate view of the Braga region when the GeoDashboard loads.

b. Zoom Controls: Implement zoom controls or buttons that allow users to zoom in and out of the map. Ensure that these controls are easily accessible and intuitive.

c. Limit Zoom Extents: Define minimum and maximum zoom levels to restrict the extent to which users can zoom in and out. This prevents over-zooming or under-zooming.

4. User Interactivity

a. Panning: Enable users to pan the map by clicking and dragging. Ensure smooth and responsive panning.

b. Tooltip on Hover: Implement tooltips that display location-specific information when users hover over map elements. This enhances user engagement and provides context.

c. Double-Click Zoom: Enable double-clicking to zoom in on a specific location on the map. Ensure a smooth transition.

d. Keyboard Controls: Consider adding keyboard controls for zooming (e.g., using "+" and "-" keys) to improve accessibility.

Acceptance Criteria

Additional Notes

bismowibi commented 1 year ago

Task :

Learning recommendation using Vanilla Maplibre (from Tabah)