聊天
Kaleidr Chat 是一个可添加到已有地图页面的聊天面板。访客输入问题(“泰特现代美术馆附近哪里可以吃早餐?”),回答会在面板中逐步显示,回答中提到的地点也会作为标记出现在您的地图上,镜头会移动以展示这些地点。
面板直接运行在您的网页中,而不是 iframe 中。您只需加载一个脚本,使用可发布密钥和正在运行的地图对象调用 Kaleidr.mount,面板便会关联该地图。您原有的地图库、样式、图层和控件均保持不变。
访客的使用体验
- 地图左上角会显示写有 Ask Kaleidr 的输入栏。
- 访客提交问题后,输入栏会展开为聊天窗口,回答以文字形式逐步显示。
- 回答中提到的每个地点都会变成聊天结果卡片和地图标记。只有一个地点时,镜头会飞向该地点;有多个地点时,镜头会调整视野以容纳所有地点。
- 点击标记或结果,会打开地点卡片,其中包含简短介绍、照片、路线指引,以及针对该地点的追问输入框。
- 询问路线时,地图上会绘制路线并调整镜头视野。
- 前面问题的标记会在本次对话剩余期间一直留在地图上,包括所有受支持的地图以及 Kaleidr Viewer 或 Tile 元素。关闭聊天窗口会结束对话,并移除其标记和路线。
当视口宽度不超过 768 px 时,面板会以底部抽屉而不是浮动窗口显示。
对您的地图执行哪些操作
| 会执行的操作 | 不会执行的操作 |
|---|---|
| 添加和移除聊天自己的标记 | 读取、修改或删除您的图层、数据源或标记 |
| 将镜头移动到某个地点,或调整视野以容纳多个地点 | 将您的图层、标记或当前可见区域发送给 Kaleidr |
| 绘制路线,然后移除路线 | 发生事件时回调您的代码 |
| 读取当前缩放级别并随每个问题发送。使用 Mapbox GL JS 和 MapLibre GL JS 时,还会仅在页面内部读取镜头和样式中的标签字体,以便放置并标注聊天标记 | 接管您地图的控件或交互手势 |
由于不同地图库提供的镜头和绘图功能不尽相同,实际行为会略有差别。受支持的地图 提供对应矩阵,功能与限制 列出了面板发送的每项请求及其数据内容。