WP-ROUTE-GOOGLE-MATCH-01 — So khớp số nhà với Google/Mapbox
Domain: D-ROUTE · Surfaces: API (+ CON gọi /routing/autocomplete) · Status: IMP (rank) · OWNER_REQUIRED (Google key live) · Date: 2026-08-17
Mục tiêu
Gõ 12 Nguyễn Huệ / Số 45/7 Lê Lợi / tên tòa → gợi ý đúng số nhà, không bị POI «Cafe 12» át.
BE đã làm
| Bước | Hành vi |
|---|---|
Key GOOGLE_MAPS_API_KEY / GOOGLE_PLACES_API_KEY / EXPO_PUBLIC_GOOGLE_MAPS_API_KEY · Places New → legacy → Geocoding |
|
| Chấm điểm | scoreAddressAgainstQuery: số nhà và token đường +100; thiếu số nhà khi query có số −40; street_address/premise +22 |
| Mapbox | Khi query dạng số+đường: types=address trước · map feature.address → streetNumber · tên 12 Nguyễn Huệ |
| Nominatim | address.house_number + road |
Unit: npx jest src/modules/routing/address-query.spec.ts 6/6 PASS.
Live Google (local 2026-08-17)
npm run routing:google:smoke (không in key):
- Key trong
api/.envđúng formatAIza…(39 ký tự) - Google trả
API key not valid/REQUEST_DENIED→ Places + Geocoding không chạy - App đang dùng Mapbox (directions live) + ranking số nhà ở trên
OWNER: tạo key mới trên Google Cloud Console:
- Billing bật
- Enable Places API (New) + Geocoding API
- Application restriction: None hoặc IP máy API/VPS — không khoá Android/iOS-only (Nest gọi server-side)
- Paste
GOOGLE_MAPS_API_KEY=vàoapi/.envvà VPS nếu CON trỏ prod - Restart Nest ·
npm run routing:google:smoke→placesNewCounthoặcgeocodeCount> 0
Key Maps SDK Android (khoá package) không dùng được cho search REST.
Gõ thử sau restart API
12 Nguyễn Huệ · Số 45 Lê Lợi · Landmark 81 · Chung cư The Sun Avenue