إنتقل إلى المحتوى الرئيسي

Chat

يربط منتج Chat منصة Kaleidr Control Tower بخريطة تستخدمها بالفعل. وهو تراكب داخل الصفحة يقرأ خريطة المستخدم ويستجيب لها — فيدير التنقل، ويحدد الأماكن، ويرسم المسارات على مثيل الخريطة الخاص بك.

الحقائق الثلاث التي تحدد ما إذا كان سيعمل

الحقيقةالإجابة
طريقة الدمجattach — يتم تركيب اللوحة داخل صفحتك وتتحكم في كائن DOM الخاص بالخريطة الذي تمرره إليها. وليست iframe.
النطاق المطلوبai — يجب أن يحمل المفتاح إمكانية ai.
الحد الأدنى للخطةPro — مفاتيح الخطة Free لا تسمح بنطاق ai.

يجب أن يكون أصل صفحتك ضمن قائمة الأصول المسموح بها للمفتاح قبل أن يتمكن المتصفح من استبدال المفتاح القابل للنشر برمز جلسة. راجع الحصول على مفتاح API لمعرفة خطوة إعداد قائمة السماح.

أين توجد المكونات

المقتطف الوحيد

أدنى إعداد عملي لـ BYOM (bring-your-own-map) لإرفاق Chat باستخدام MapLibre. قدّم هذه الصفحة من أصل HTTP(S) موجود في قائمة الأصول المسموح بها للمفتاح — file:// لا يرسل Origin وبالتالي يفشل تبادل الجلسة دائمًا.

<link rel="stylesheet"
href="https://unpkg.com/maplibre-gl@5.17.0/dist/maplibre-gl.css">
<div id="mapHost" style="height:520px;position:relative">
<div id="map" style="position:absolute;inset:0"></div>
<div id="chat" style="position:absolute;inset:0;z-index:1;pointer-events:none"></div>
</div>
<script src="https://unpkg.com/maplibre-gl@5.17.0/dist/maplibre-gl.js"></script>
<script src="https://cdn.kaleidr.com/embed/v1/kaleidr.js"></script>
<script>
const map = new maplibregl.Map({
container: 'map',
style: 'https://demotiles.maplibre.org/style.json',
center: [-0.12, 51.5],
zoom: 11,
});
Kaleidr.mount('#chat', {
product: 'chat',
publishableKey: 'kld_pk_live_…',
map,
contained: true,
});
</script>

contained: true يثبت اللوحة داخل عنصر التركيب بدلًا من جعلها عائمة على document.body. وبدونه تخرج اللوحة من حاوية الخريطة وتبدو معطلة فوق تخطيط الصفحة.