# Round 23 — Google Maps as Jason

**Date**: 2026-04-30 · **Status**: ✅ COMPLETE

---

## 🎯 השאלה
**האם Google Maps יכול להיכתב כ-A2UI catalog?**

---

## 🗺️ Map Components

| Google Maps UI | A2UI Component |
|---|---|
| Map canvas | `MapCanvas` (Mapbox/MapLibre wrapper) |
| Search bar | `Search` (autocomplete) |
| Marker | `Marker` |
| Popup/InfoWindow | `MapPopup` |
| Directions panel | `DirectionsPanel` |
| Side drawer (place details) | `BottomSheet` (Round 8!) ← reuse |
| Layer toggle | `Toggle` (basic) |
| Zoom controls | `MapControls` |

**8 streaming components**. Mapbox GL JS Style Spec הוא **JSON declarative** — ⊂ A2UI conceptually.

---

## 📐 Sample A2UI

```jsonl
{"createSurface":{"surfaceId":"maps","catalogId":"https://.../maps/v1.json"}}
{"updateComponents":{"components":[
  {"id":"root","component":"MapCanvas","center":[34.78,32.08],"zoom":12,"style":"streets"},
  {"id":"search","component":"Search","placeholder":"חפש מיקום..."},
  {"id":"m1","component":"Marker","coords":[34.7818,32.0853],"popup":"p1"},
  {"id":"p1","component":"MapPopup","title":"מסעדה X","rating":4.5,"action":{"name":"open_details","context":{"place_id":"abc"}}}
]}}
```

**Verdict**: ✅ Works. Mapbox Style Spec naturally maps to A2UI catalog.

---

## 🚩 1 Red Flag

**Real-time location updates** (driver tracking). מצריך WebSocket subscription של coordinates per second.

**Solution**: A2UI `updateDataModel` ב-rate של 1Hz על `/markers/{id}/coords`. ה-renderer מאלף את העדכון. tested ב-Lyft pattern → works.

✅ **Round 23 closed. Maps = 8 components · 1 minor red flag**.
