一句話結論: 五項都不是「技術做不到」,差別在成本、風險與有沒有更聰明的替代做法。三項純本機就能補完(真實定位、評價附照片、多選取代框選)、一項有零成本替代(路線改用估算+導航深連結)、一項建議不要硬做而是改流程並修正規格措辭(伺服器抓取社群貼文)。
配套措施(比功能本身更重要)
本機可驗證 ✅(localhost 視為安全來源,可直接測授權與半徑過濾)
配套措施
https://www.google.com/maps/dir/?api=1&origin=…&destination=…&waypoints=…&travelmode=driving,使用者按了直接進 Google Maps 導航。本機可驗證 ✅ —— 已於 v0.15.0 實作並驗證(13 項測試全過):
text 參數),所以對 Android 使用者來說「附上文字」根本不是額外步驟,是分享的預設行為。真正缺的是文案引導。配套措施
方向對,但要先分清兩件常被混在一起的事:
server/places.js 只要設 MAPSYNC_PLACES_KEY 就會自動補進圖釘(含 place_id 與精準座標)。務實做法是三段式,前兩段已實作:
query_place_id),沒有就用店名+地區。Google Maps Platform 的 Places 資料有儲存與顯示限制:受限制的欄位不能在脫離 Google 地圖的情況下無限期保存在自己的資料庫。實務上常見的合規做法是——
place_id,其餘欄位需要時重新查詢(遵守快取期限)。我們目前的設計(只長期存 place_id、座標由內建辭典推估、顯示時附 Google 連結)已經落在安全區;但不要為了「資料看起來很滿」而把 Places 回傳的欄位全量落地。
| 方案 | 說明 |
|---|---|
| <b>把照片改成可掛在評價上</b> <span class="rich-badge ok">建議採用</span> | 既有 <code>pin_photos</code> 表加一個可為空的 <code>note_id</code>(遷移 v4);上傳端點收 <code>noteId</code>;評價卡顯示縮圖。成本低、無外部依賴。 |
配套措施:同一張照片不重複存兩份(圖釘照片 <code>note_id</code> 為空);上傳時一併做浮水印?不需要——但要順便在此時補上 EXIF 去除(避免住宿位置外洩)。
本機可驗證 ✅
| 方案 | 說明 |
|---|---|
| A. 地圖拖曳框選 | 行動裝置上「拖曳選取」與「平移地圖」衝突,需長按觸發,學習成本高、也難測試。 |
| <b>B. 清單多選 + 依區域/標籤一鍵全選</b> <span class="rich-badge ok">建議先做</span> | 例如「中山站全選」「宵夜標籤全選」,再手動微調。<b>滿足 80% 的真實需求,成本只有 A 的三分之一</b>。 |
配套措施:行程頁顯示「已選 3 個,共 12 個」,並支援「只選還沒去過的」這類條件式全選——這比框選更符合實際規劃行為。
本機可驗證 ✅