getodk / getodk/web-forms

Support map layer customization (Google Maps, MapBox, terrain, satellite)

Open
#517 1 comment 0 reactions 1 assignee Claimed by @latin-panda View on GitHub
front-end In Collect In Enketo xforms-engine
Dominant language
TypeScript
Stars
38
Forks
22
PR merge metrics
No merged PRs in 30d

Description

#### Description
Enable customization of map layers to switch to services like Google Maps or MapBox and support terrain and satellite views.

Xform-engine will probably just pass the API keys from central directly to the front-end and the front-end do all the work.

---

#### Checklist
- **Does it need UI/UX design?**
- [x] Yes. Describe the UI/UX requirements or attach a Figma link in the "Design" section.
- UI for selecting map layer types (e.g., dropdown or toggle for base layers and view modes).
- [ ] No
- **Does it need API design?**
- [x] Yes. Specify the endpoints, methods, or data structures needed.
- API for Central to get the API keys and connect with Google Maps for example.
- [ ] No
- **Does it need design around state flow?**
- [ ] Yes. Outline the state flow requirements.
- [x] No
- **Does it need a test plan?**
- [x] Yes. Add the test plan as a comment in this task or attach the document.
- Test plan to verify layer switching, rendering accuracy, and compatibility with free services.
- [ ] No

---

#### User Stories
- **As a** map user,
**I want** to switch between different map layers (e.g., Google Maps, MapBox, terrain, satellite),
**so that** I can choose the most suitable map view for my needs.

---

#### Design
- **Figma**: [Insert URL for layer selection UI]
- **Design Docs**: [Insert URL for layer switching state flow and service integration]

---

#### Dependencies
- Requires Central development for integrating alternative map services.

---

#### Related Issues
- https://github.com/getodk/web-forms/issues/305

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.