استعادة رمز Plus مختصر باستخدام إحداثيات قريبة
يكون رمز Plus المختصر عملياً عندما تكون المنطقة العامة معروفة مسبقاً، لكنه لا يستطيع تحديد مكان بمفرده.
شغّل الأداة مجانًا
تعيد هذه الأداة البادئة المحذوفة بدمج Open Location Code القصير مع خط عرض وخط طول مرجعيين قريبين. وتعرض الرمز الكامل المستعاد، وإحداثيات مركزه، وحدود خطي العرض والطول للمنطقة المرمزة. الحساب حتمي، ولا يستعلم عن الخرائط، ويتبع قواعد اختيار الخلايا المعتمدة في Open Location Code.
لماذا يحتاج رمز Plus المختصر إلى نقطة مرجعية
يبدأ رمز Plus الكامل بمحارف تحدد منطقة واسعة، ثم تزداد دقة المحارف تدريجياً باتجاه النهاية. ويحذف الرمز المختصر جزءاً من تلك البادئة العامة عمداً، لأن الأشخاص الذين يتبادلون الرمز يعرفون مسبقاً المدينة أو الحي أو معلماً قريباً. فقد تعرض لافتة محلية أو رسالة، على سبيل المثال، بضعة محارف فقط قبل علامة الجمع. تصف المحارف الباقية خلايا شبكية تتكرر في أنحاء العالم، ولذلك يكون النص وحده ملتبساً. توفر عملية الاستعادة السياق المفقود في صورة خط عرض وخط طول مرجعيين. ترمز الحاسبة أولاً تلك الإحداثيات القريبة بدقة الأزواج القياسية، ثم تأخذ من البداية العدد نفسه من المحارف التي حذفها الرمز القصير، وتصل هذه البادئة بالرمز المدخل. وبعد ذلك تقارن مركز الخلية الناتجة بالنقطة المرجعية. لا تبحث هذه العملية عن عنوان أو منشأة أو طريق أو تقسيم إداري، بل تستعيد أقرب Open Location Code كامل جغرافياً يتوافق مع النص المختصر والإحداثيات المقدمة. ومن ثم فإن اختيار مرجع داخل المنطقة المحلية نفسها معلومة أساسية، وليس مجرد اقتراح اختياري لتحسين الدقة.
كيفية اختيار أقرب رمز مطابق
يكفي عادة نسخ بادئة مشتقة من الإحداثيات المرجعية، لكن المواقع القريبة من حد خلية شبكية تحتاج إلى خطوة إضافية. يفك الرمز الكامل المؤقت إلى منطقة مستطيلة لها مركز وحدود شمالية وجنوبية وشرقية وغربية. تحدد الحاسبة دقة البادئة المحذوفة وتقارن المركز المؤقت بالمرجع. فإذا ابتعد المركز بأكثر من نصف تلك الدقة، تنقل الحاسبة الرمز المرشح خلية مطابقة واحدة باتجاه المرجع، مع احترام حدود خطوط العرض عند القطبين. ويجري تطبيع خط الطول عند عبور خط الزوال المقابل، لذلك لا تؤدي نقطة قريبة على الجانب الآخر من 180 درجة إلى نتيجة بعيدة. بعد ذلك يفك الرمز النهائي مرة أخرى ويعرض مع حدوده الصريحة وإحداثيات مركزه. تطبق هذه الطريقة تفسير أقرب منطقة مطابقة المقصود للرمز Plus القصير. وهي لا تزعم أن المركز يمثل مدخل مبنى، ولا أن كل نقطة داخل الخلية تحمل العنوان البريدي نفسه. تصف الحدود مساحة الشبكة المرمزة، أما الرمز الكامل فهو معرف قابل للنقل يمكنكم حفظه أو تمريره إلى تنفيذ آخر لنظام Open Location Code.
اختيار الإحداثيات وفهم النتيجة
استخدموا إحداثيات قريبة فعلاً من المكان الذي أنشئ فيه الرمز القصير. يمكن أن يصلح مركز البلدة أو نقطة طريق معروفة أو موقع GPS الحالي إذا كان داخل المنطقة المحلية نفسها. كلما زاد الاختصار، حذف جزء أكبر من البادئة الجغرافية، وأصبحت مجاورة المرجع أكثر أهمية من الناحية العملية؛ فقد تختار إحداثيات غير دقيقة أو بعيدة خلية متكررة أخرى توافق المحارف المتبقية أيضاً. بعد الاستعادة، راجعوا قيمة full_code والمركز المعروض معاً. تبين الحقول latitude_lo وlatitude_hi وlongitude_lo وlongitude_hi المستطيل الدقيق الذي ترمزه النتيجة، وتفيد في ضبط إطار الخريطة أو اختبار احتواء نقطة. احتفظوا بالرمز القصير الأصلي والإحداثيات المرجعية في سجل التدقيق عندما تكون قابلية إعادة الإنتاج مهمة، لأن النتيجة الكاملة مشتقة منهما معاً. تعالج المدخلات بالدرجات العشرية؛ ويجب أن يبقى خط العرض بين القطبين وخط الطول ضمن النطاق التقليدي ذي الإشارة. لا تستخدم العملية خدمة شبكة أو قاعدة خرائط أو الوقت الحالي أو اختياراً عشوائياً. لذلك تنتج المدخلات الصالحة نفسها دائماً الرمز المستعاد والمساحة الرقمية نفسيهما، سواء في الاستخدام التفاعلي أم ضمن سير عمل آلي بسعر $0.002 لكل طلب.
حالات الاستخدام
إكمال رمز وارد في رسالة محلية
ادمجوا رمز حي مختصراً مع إحداثيات قريبة معروفة قبل حفظه أو مشاركته على نطاق عالمي.
توحيد سجلات المسح الميداني
حولوا الرموز المختصرة وإحداثيات المسح المرجعية إلى معرفات كاملة ذات حدود مفككة وصريحة.
إعداد بيانات الملاحة لنظام آخر
استعيدوا رموزاً كاملة قابلة للنقل قبل تصدير نقاط الطريق إلى برنامج لا يقبل رموز Plus المختصرة.
الأسئلة الشائعة
ما المطلوب لاستعادة رمز Plus مختصر؟
قدموا الرمز القصير مع خط عرض وخط طول قريبين بالدرجات العشرية. القيم الثلاث مطلوبة لأن البادئة المحذوفة تمثل السياق الجغرافي.
ما مدى قرب الإحداثيات المرجعية المطلوب؟
ينبغي أن تكون داخل المنطقة المحلية نفسها التي يقع فيها المكان المقصود. وكلما زاد عدد المحارف المحذوفة، ازدادت أهمية اختيار مرجع قريب فعلاً.
هل يمكن للأداة استعادة عنوان أو اسم مكان؟
لا. فهي تنفذ حسابات Open Location Code فقط، ولا تستعلم عن الخرائط أو خدمات الترميز الجغرافي أو أدلة المنشآت أو قواعد البيانات البريدية.
لماذا تعرض الحدود مع الرمز الكامل؟
يمثل رمز Plus مساحة وليس نقطة ذات دقة لا نهائية. وتجعل الحدود والمركز ذلك المستطيل المرمز واضحاً.
هل يمكنني إدخال رمز Plus كامل مسبقاً؟
لا. تختص هذه القدرة باستعادة الرموز المختصرة، وترفض الرمز إذا كانت علامة الجمع في موضع الرمز الكامل بالفعل.
ما تكلفة طلب API؟
تبلغ تكلفة كل طلب API مقدار $0.002. تعمل نسخة المتصفح محلياً من دون إرسال الحساب إلى خدمة خرائط.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/geo/plus-code-recover \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"short_code":"9G8F+6X","latitude":47.36559,"longitude":8.524997}'const res = await fetch("https://api.kit.forhosting.com/geo/plus-code-recover", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"short_code": "9G8F+6X",
"latitude": 47.36559,
"longitude": 8.524997
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/plus-code-recover",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"short_code": "9G8F+6X",
"latitude": 47.36559,
"longitude": 8.524997
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/plus-code-recover", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"short_code":"9G8F+6X","latitude":47.36559,"longitude":8.524997}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"short_code":"9G8F+6X","latitude":47.36559,"longitude":8.524997}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/plus-code-recover", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"short_code": "9G8F+6X",
"latitude": 47.36559,
"longitude": 8.524997
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.plus_code_recover",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |