AI 門市定位器結合可靠的門市目錄、地理搜尋、即時地圖與對話層,用來處理包含多項條件的在地需求。距離、營業時間、服務、無障礙條件與取貨方式仍應使用確定性篩選;當顧客以自然語言組合這些條件時,再運用 AI。模型負責解讀意圖,門市系統負責驗證事實,主應用程式負責執行規則,地圖則顯示核准的結果。
以下將說明系統架構、共用搜尋狀態、Kaleidr Chat 串接、排序、成效衡量與常見錯誤。不同算繪器的串接步驟請參閱如何為地圖加入 AI 對話。相關的目的地工作流程可參閱如何建立 AI 驅動的旅遊地圖。
AI 門市定位器要點
- 事實由門市系統管理: 營業時間、服務、暫停營業狀態與庫存資格不得由模型臆測。
- 篩選條件保持可見: 將對話限制轉換成顧客可檢視與修改的篩選標籤。
- 統一搜尋狀態: 清單、地圖與對話使用相同的搜尋起點、篩選條件與已選門市 ID。
- 將對話串接到即時地圖: Kaleidr Chat 可串接 Mapbox、Google Maps、MapLibre 或 Leaflet,地圖算繪器仍由主應用程式管理。
- 衡量實際行動: 路線、電話、預約與取貨比對話開啟次數更能反映成效。

如何建立結合地圖對話的 AI 門市定位器?
完成的體驗包含四個同步介面:地址或選用裝置位置搜尋;顯示距離、營業時間、服務與操作的門市清單;帶有已選及篩選標記的互動式地圖;以及以自然語言調整搜尋的 AI 對話面板。有效的回答會將需求轉換成明確條件,從獲授權的門市系統擷取合格紀錄,排列其餘門市,在地圖上標示所選門市,說明符合原因,並提供路線、電話、預約或詳細資料操作。AI 層不得編造營業時間、服務、庫存或資格;這些屬性必須來自最新的營運系統。
AI 門市定位器與「附近門市」搜尋有何不同?
這些名稱有所重疊,但產品需求並不相同。門市定位器回答門市位於何處;門市搜尋工具回答哪家門市符合需求;附近搜尋依賴使用者授權的地理位置或輸入的搜尋起點。AI 門市定位器則將自然語言解讀與獲授權的門市資料連接,找出符合多項變動條件的鄰近門市。傳統定位器仍是基礎;AI 改善的是使用者表達複雜意圖的方式,而不是取代清單、篩選器或門市紀錄。
| 體驗 | 主要問題 | 必要能力 |
|---|---|---|
| 門市定位器 | 門市位於何處? | 可搜尋的門市目錄與地圖 |
| 門市搜尋工具 | 哪家門市符合我的需求? | 篩選器、服務、可用性與排序 |
| 附近搜尋 | 我附近有什麼? | 地理位置或輸入的搜尋起點 |
| AI 門市定位器 | 哪家鄰近門市符合多項條件? | 以獲授權門市資料為基礎的自然語言搜尋 |
郵遞區號、半徑、目前營業、門市類型、取貨方式、無障礙條件與商品資格應使用標準控制項。當顧客組合多項條件時,例如「下班後仍營業並支援路邊取貨」、「可退貨且有停車場」或「場館附近可當日取貨」,再運用 AI。完成解讀後,應顯示已套用的條件,讓顧客可以檢視與修改。
架構如何將事實與對話分開?
正式環境中的 AI 門市定位器應將互動、算繪、推論與營運事實分開。主應用程式負責 UI、工作階段、地區設定、同意、工作流程與轉換操作。門市系統負責門市 ID、地址、座標、營業時間、服務、狀態、庫存資格與更新時間。主後端負責授權、擷取、篩選、排序政策、快取與稽核紀錄。地圖算繪器負責顯示、標記、叢集、鏡頭與路線預覽;空間服務提供地理編碼、距離、行程時間與路線規劃。Kaleidr 為主應用程式已算繪的地圖加入對話式空間層,分析系統則記錄搜尋品質、選擇、路線、電話與轉換。

Kaleidr 目前的文件將 Chat 說明為串接即時地圖執行個體的 AI 層。它可連接 Mapbox、Google Maps、MapLibre 與 Leaflet,標示已解析地點,並隨結果調整鏡頭,而現有算繪器仍負責地圖本身(Chat — 將 AI 串接至地圖)。在清單、地圖、分析與詳細資料頁面之間使用穩定的門市 ID。將座標與顯示地址分開,為營運屬性記錄更新時間,以門市當地時區表示營業時間,且不要僅憑推論得出無障礙或服務資訊。
共用狀態、搜尋起點與對話如何協同運作?
地圖與清單必須呈現同一項查詢。主應用程式應維護統一的定位器狀態,包括搜尋起點、半徑、邊界、可見篩選器、AI 建議條件、排序、已選門市 ID 與結果。Kaleidr Chat 可以提出調整建議,但介面應將其轉換成可見的應用程式條件,而不是埋在對話歷程中。顧客輸入地址或地點時,應重新設定地圖中心並從該起點重新排序。套用服務篩選器時,應同時隱藏不符合條件的標記與卡片。選取卡片或標記時,應在兩個介面中標示同一家門市。不要在每次鏡頭動畫後重新整理完整結果集;可使用「搜尋此區域」或經過防彈跳處理的 idle 事件。

搜尋起點仍由主應用程式管理,通常是顧客提供的地址、郵遞區號或地點。Kaleidr Chat 不要求使用瀏覽器地理定位;它串接即時地圖,並使用主應用程式已擷取的可信門市結果。
從 https://cdn.kaleidr.com/embed/v1/kaleidr.js 載入標示版本的 Kaleidr 載入器,啟用嵌入功能,然後使用包含 ai 範圍的可發佈金鑰將 Chat 串接至即時地圖:
const chat = Kaleidr.mount("#store-chat", {
product: "chat",
publishableKey: "kld_pk_live_REPLACE_ME",
map: storeMap,
enabled: true
});
window.addEventListener("pagehide", () => {
chat.destroy();
});
此範例遵循目前的 Chat 串接參考與 kaleidr.js 載入器。將可發佈金鑰限制為核准來源(CORS 與允許來源),並將伺服器金鑰與零售系統憑證保留在後端(驗證與範圍)。排序前,應由主應用程式而非模型,針對市場授權、門市狀態、服務符合度、庫存或預約規則,以及距離或行程時間執行確定性資格判斷。對於缺乏依據的陳述,應拒絕而不是猜測。針對在地 SEO,LocalBusiness 結構化資料應與門市頁面上的可見事實一致;結構化資料不能取代有用的頁面內容。
如何排序、衡量並避免常見問題?
先套用硬性資格條件,再根據距離、行程時間與顧客偏好等核准訊號排列合格門市。在結果旁顯示符合原因。為確保無障礙使用,應為地圖與清單區域命名,保留篩選器與操作的鍵盤路徑,避免焦點陷阱,符合目標尺寸指引,並在適用 WCAG 2.2 時提供非拖曳操作。追蹤定位器載入、位置解析、搜尋送出、合格結果、門市選擇,以及路線、電話、預約與取貨等業務操作。Chat 開啟次數只是輸入指標,不是最終結果。另應關注無結果率、部分符合、資料新鮮度、地圖操作成功率、取得有效結果所需時間,並依地區比較需求與涵蓋範圍。

| 錯誤 | 後果 | 建議修正 |
|---|---|---|
| 讓模型編造營業時間或庫存 | 顧客抵達暫停營業或無庫存的門市 | 每項資訊都以獲授權系統為依據 |
| 僅在對話中隱藏 AI 條件 | 使用者無法檢視或修改搜尋 | 將條件顯示為可見篩選器 |
| 清單與地圖狀態不一致 | 介面衝突會破壞信任 | 使用統一的共用搜尋狀態 |
| 沒有即時地圖就掛載 Chat | 地點無法顯示在定位器地圖上 | 將現有門市地圖執行個體傳給 Kaleidr Chat |
| 將 Chat 開啟次數視為成功 | 把興趣誤認為任務完成 | 衡量路線、電話、預約與取貨 |
| 在瀏覽器中揭露伺服器或零售憑證 | 私有系統遭到公開 | 僅使用限制來源的可發佈金鑰 |
最終結論
AI 門市定位器應讓複雜的在地意圖更容易表達,同時不削弱基礎門市搜尋工具的可靠性。主應用程式負責工作流程、搜尋狀態與轉換操作;營運門市系統仍是營業時間、服務、暫停營業狀態與資格的權威來源;地圖算繪器繼續呈現地理資訊。Kaleidr 為產品現有的地圖加入對話式位置互動。最穩健的實作會結合確定性篩選、明確的搜尋起點、同步的清單與地圖、以可信資料為依據的 AI 輔助、透明的符合原因,以及清楚的下一步操作。
為門市定位器加入地圖對話
使用標示版本的 JavaScript 載入器與限制允許來源的可發佈金鑰,將 Kaleidr Chat 串接至支援的即時門市地圖。**Chat 串接指南**說明 Mapbox、Google Maps、MapLibre 與 Leaflet 的串接方式。關於私有零售資料、排序與部署需求,請參閱 Enterprise 與 Analytics。
常見問題
什麼是 AI 門市定位器?
AI 門市定位器將門市目錄與互動式地圖結合自然語言搜尋。AI 解讀包含多項條件的意圖,門市系統則驗證地點、營業時間、服務與營運狀態。
AI 門市定位器會取代一般篩選器嗎?
不會。距離、營業狀態、門市類型與已知服務仍應使用明確的篩選器。AI 適合處理使用者以對話語言組合多項條件的情況。
Kaleidr 可以串接現有門市地圖嗎?
可以。目前的 Chat SDK 接受支援的即時地圖執行個體,並支援串接 Mapbox、Google Maps、MapLibre 與 Leaflet。
Kaleidr Chat 需要瀏覽器地理定位嗎?
不需要。Chat 串接主地圖,並依據獲授權的門市結果解讀地理意圖。地址、郵遞區號或主應用程式提供的其他地點等搜尋起點由應用程式管理。
哪些指標最重要?
追蹤成功搜尋、無結果率、已選門市、路線、電話、預約、取貨、取得有效結果所需時間與資料品質錯誤。僅憑 Chat 開啟次數無法證明價值。
參考文獻
- Google. Local Business Structured Data. Google Search Central. Accessed 4 August 2026. https://developers.google.com/search/docs/appearance/structured-data/local-business
- Kaleidr. Auth & Scopes. Kaleidr Developer Docs. Accessed 4 August 2026. https://docs.kaleidr.com/platform-api/auth-and-scopes
- Kaleidr. Chat — Attach AI to Your Map. Kaleidr Developer Docs. Accessed 4 August 2026. https://docs.kaleidr.com/sdk/chat-attach
- Kaleidr. CORS & Allowed Origins. Kaleidr Developer Docs. Accessed 4 August 2026. https://docs.kaleidr.com/platform-api/cors-and-allowed-origins
- Kaleidr. kaleidr.js — the Loader. Kaleidr Developer Docs. Accessed 4 August 2026. https://docs.kaleidr.com/sdk/kaleidr-js
- Kaleidr. Pricing & Plans. kaleidr.com. Accessed 4 August 2026. https://kaleidr.com/pricing
- World Wide Web Consortium. Web Content Accessibility Guidelines (WCAG) 2.2. Accessed 4 August 2026. https://www.w3.org/TR/WCAG22/
@misc{kaleidr_chat_attach,
title = {Chat -- Attach AI to Your Map},
author = {{Kaleidr}},
note = {Kaleidr Developer Docs; accessed 4 August 2026},
url = {https://docs.kaleidr.com/sdk/chat-attach}
}
@misc{kaleidr_loader,
title = {kaleidr.js -- the Loader},
author = {{Kaleidr}},
note = {Kaleidr Developer Docs; accessed 4 August 2026},
url = {https://docs.kaleidr.com/sdk/kaleidr-js}
}
@misc{kaleidr_auth_scopes,
title = {Auth and Scopes},
author = {{Kaleidr}},
note = {Kaleidr Developer Docs; accessed 4 August 2026},
url = {https://docs.kaleidr.com/platform-api/auth-and-scopes}
}
@misc{google_localbusiness,
title = {Local Business Structured Data},
author = {{Google}},
note = {Google Search Central; accessed 4 August 2026},
url = {https://developers.google.com/search/docs/appearance/structured-data/local-business}
}
@misc{wcag22,
title = {Web Content Accessibility Guidelines 2.2},
author = {{World Wide Web Consortium}},
note = {Accessed 4 August 2026},
url = {https://www.w3.org/TR/WCAG22/}
}