مخطط عنوان URL في "خرائط Google" لنظام التشغيل iOS

على الأجهزة التي تعمل بنظام التشغيل iOS 9 والإصدارات الأحدث، يمكنك استخدام الروابط العالمية لتشغيل "خرائط Google" عندما يكون لديك عنوان URL في "خرائط Google".

يمكنك استخدام مخطط عناوين URL في "خرائط Google" لإطلاق تطبيق "خرائط Google" لنظام التشغيل iOS وإجراء عمليات بحث والحصول على طلبات للاتجاهات وعرض طرق عرض الخريطة. عند إطلاق "خرائط Google"، يتم إرسال معرّف الحزمة تلقائيًا كجزء من الطلب.

لا تحتاج إلى مفتاح واجهة برمجة تطبيقات Google لاستخدام مخطط عناوين URL لخرائط Google.

تدعم خرائط Google لنظام التشغيل iOS الروابط العامة على الأجهزة التي تعمل بنظام التشغيل iOS 9 أو الإصدارات الأحدث.

إذا تطابق عنوان URL مع التعبير العادي التالي، وكان الجهاز يعمل بنظام التشغيل iOS 9 أو إصدار أحدث، يمكنك استخدام الطريقة openURL: مباشرةً.

(http(s?)://)?
((maps\.google\.{TLD}/)|
 ((www\.)?google\.{TLD}/maps/)|
 (goo.gl/maps/))
.*

على سبيل المثال:

Swift

UIApplication.shared.openURL(URL(string:"https://www.google.com/maps/@42.585444,13.007813,6z")!)

Objective-C

[[UIApplication sharedApplication] openURL:
   [NSURL URLWithString:@"https://www.google.com/maps/@42.585444,13.007813,6z"]];

نظرة عامة

يتيح لك مخطط عنوان URL تشغيل تطبيق iOS أصلي من تطبيق iOS آخر أو من تطبيق ويب. يمكنك ضبط الخيارات في عنوان URL التي سيتم تمريرها إلى التطبيق الذي تم تشغيله. يدعم تطبيق خرائط Google لنظام التشغيل iOS أنظمة عناوين URL التالية:

  • comgooglemaps:// وcomgooglemaps-x-callback:// - يتيح لك هذان المخططان إطلاق تطبيق "خرائط Google" لنظام التشغيل iOS وتنفيذ أحد الإجراءات المتعددة:

    • عرض خريطة لموقع محدد ومستوى تكبير/تصغير.
    • البحث عن المواقع أو الأماكن، وعرضها على الخريطة.
    • اطلب الاتجاهات من موقع إلى آخر. يمكن إرجاع الاتجاهات لأربعة وسائل نقل: القيادة والمشي وركوب الدراجات والنقل العام.
    • أضف التنقل إلى تطبيقك.
    • من خلال نظام التشغيل iOS 8، يمكنك إصدار معاودة الاتصال عند اكتمال التطبيق، باستخدام comgooglemaps-x-callback://. غالبًا ما تستخدم عمليات معاودة الاتصال لإعادة المستخدم إلى التطبيق الذي فتح خرائط Google لنظام التشغيل iOS في الأصل. لاحظ أنه في نظام التشغيل iOS 9، يوفر النظام تلقائيًا رابط "الرجوع إلى" في الزاوية اليمنى من شريط الحالة.
  • comgooglemapsurl:// - يتيح لك هذا النظام إطلاق تطبيق "خرائط Google" لأجهزة iOS باستخدام عنوان URL مشتق من موقع "خرائط Google" الإلكتروني المتوافق مع أجهزة الكمبيوتر المكتبي. وهذا يعني أنه يمكنك منح المستخدمين تجربة جوّال أصلية بدلاً من مجرد تحميل موقع ويب خرائط Google.

    • يمكن أن يكون عنوان URL الأصلي خاصًا بـ maps.google.com أو لـ google.com/maps، أو يستخدم أي نطاق بلد صالح ذي مستوى أعلى بدلاً من com. يمكنك أيضًا تمرير goo.gl/maps عنوان URL لإعادة التوجيه.
    • يمكنك طلب معاودة الاتصال باستخدام المعلمتين x-source وx-success من خلال مخطط عناوين URL comgooglemapsurl://.

إطلاق تطبيق خرائط Google لنظام التشغيل iOS وتنفيذ وظيفة معينة

لتشغيل تطبيق "خرائط Google" لنظام التشغيل iOS وتنفيذ إحدى الوظائف المتاحة اختياريًا، يمكنك استخدام مخطط عنوان URL بالصيغة التالية:

comgooglemaps://?parameters

أو:

comgooglemaps-x-callback://?parameters

يتم وصف المَعلمات بالتفصيل لاحقًا في هذا المستند.

التحقق من مدى توفّر تطبيق "خرائط Google" على الجهاز

قبل تقديم أحد عناوين URL هذه إلى أحد المستخدمين في تطبيقك، يجب أولاً التحقق من تثبيت التطبيق. يمكن لتطبيقك التحقق من توفر مخطط عنوان URL باستخدام التعليمة البرمجية التالية:

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
    [NSURL URLWithString:@"comgooglemaps://"]];

على سبيل المثال، لعرض خريطة لـ "سنترال بارك" في "نيويورك"، يمكنك استخدام الرمز التالي:

Swift

if (UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)) {
  UIApplication.shared.openURL(URL(string:
    "comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic")!)
} else {
  print("Can't use comgooglemaps://");
}

Objective-C

if ([[UIApplication sharedApplication] canOpenURL:
     [NSURL URLWithString:@"comgooglemaps://"]]) {
  [[UIApplication sharedApplication] openURL:
   [NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]];
} else {
  NSLog(@"Can't use comgooglemaps://");
}

عرض خريطة

استخدم مخطط عنوان URL لعرض الخريطة بمستوى تكبير/تصغير محدد والموقع. يمكنك أيضًا تركيب طرق عرض أخرى أعلى الخريطة، أو عرض صور "التجوّل الافتراضي".

المَعلمات

كل المَعلمات التالية اختيارية. وإذا لم يتم تعيين أي معلمات، فسيشغّل مخطط عنوان URL تطبيق خرائط Google لنظام التشغيل iOS.

  • center: هذه هي النقطة المركزية لإطار عرض الخريطة. تم تنسيقها كسلسلة مفصولة بفواصل من latitude,longitude.
  • mapmode: لضبط نوع الخريطة التي يتم عرضها. يمكن ضبطها على: standard أو streetview. إذا لم يتم تحديده، سيتم استخدام إعدادات التطبيق الحالية.
  • views: لتفعيل/إيقاف طرق عرض معيّنة. يمكن ضبطها على: satellite أو traffic أو transit. يمكن تعيين قيم متعددة باستخدام فاصل. إذا تم تحديد المعلمة بدون قيمة، سيتم محو جميع طرق العرض.
  • zoom: لتحديد مستوى تكبير/تصغير الخريطة.

يعرض عنوان URL هذا المثال الخريطة المعروضة في وسط نيويورك عند التكبير 14 مع عرض حركة المرور على:

comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic

خريطة حركة المرور في نيويورك

في ما يلي بعض الأمثلة الإضافية:

comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview

يمكنك استخدام هذا النظام لعرض طلبات البحث في موقع إطار عرض محدّد.

المَعلمات

بالإضافة إلى المَعلمات المستخدَمة لعرض الخريطة، يتيح "بحث Google" استخدام المَعلمة q.

  • q: سلسلة طلب البحث

مثال عنوان URL هذا لعمليات البحث عن "بيتزا" حول الموقع المحدد:

comgooglemaps://?q=Pizza&center=37.759748,-122.427135

بيتزا قريبة

في ما يلي بعض الأمثلة الإضافية:

comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA&center=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan&center=35.660888,139.73073&zoom=15&views=transit

جارٍ عرض الاتجاهات

استخدم هذا المخطط لطلب وعرض الاتجاهات بين موقعين. يمكنك أيضًا تحديد وسيلة النقل.

المَعلمات

  • saddr: لضبط نقطة البداية لعمليات البحث عن الاتجاهات. يمكن أن يكون هذا عنوانًا لخطوط الطول أو العرض أو استعلامًا. وإذا كانت سلسلة استعلام تعرض أكثر من نتيجة واحدة، فسيتم تحديد النتيجة الأولى. إذا تُركت القيمة فارغة، فسيتم استخدام الموقع الحالي للمستخدم.
  • daddr: لضبط نقطة نهاية عمليات البحث عن الاتجاهات. ولديه نفس التنسيق والسلوك المُستخدَمَين في saddr.
  • directionsmode: وسيلة النقل يمكن ضبطها على: driving أو transit أو bicycling أو walking.

يعرض مثال عنوان URL اتجاهات النقل العام بين Google في نيويورك ومطار أبوظبي:

comgooglemaps://?saddr=Google+Inc,+8th+Avenue,+New+York,+NY&daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York&directionsmode=transit

اتجاهات النقل العام

في ما يلي بعض الأمثلة الإضافية:

comgooglemaps://?saddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA+94043&daddr=Google+Inc,+345+Spear+Street,+San+Francisco,+CA&center=37.422185,-122.083898&zoom=10
comgooglemaps://?saddr=2025+Garcia+Ave,+Mountain+View,+CA,+USA&daddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA,+United+States&center=37.423725,-122.0877&directionsmode=walking&zoom=17

تحديد عنوان URL لمعاودة الاتصال

إذا أردت تحديد عنوان URL لمعاودة الاتصال، يجب استخدام مخطط عنوان URL comgooglemaps-x-callback://. ويلتزم هذا المخطط بمواصفات x-callback-url. عند استدعاء تطبيق خرائط Google لنظام التشغيل iOS باستخدام هذا المخطط، سيعرض التطبيق زرًا أعلى الشاشة. سيؤدي النقر على هذا الزر إلى إصدار معاودة الاتصال بعنوان URL الذي حددته.

يجب أن تكون الطلبات المُرسَلة إلى comgooglemaps-x-callback:// بالشكل التالي:

comgooglemaps-x-callback://?parameters

المَعلمات

يقبل مخطط عنوان URL لرد الاتصال x المعلمات نفسها التي يستخدمها مخطط عنوان URL comgooglemaps://، مع المعلمات الإضافية التالية. كلتا المعلمتين مطلوبتين.

  • x-source — اسم التطبيق الذي يرسل طلب x-callback يُفضَّل استخدام الأسماء المختصرة.
  • x-success — عنوان URL المطلوب الاتصال عند الانتهاء. وسيكون هذا غالبًا مخطط عنوان URL لتطبيقك الخاص، مما يسمح للمستخدمين بالرجوع إلى التطبيق الأصلي.

تجدر الإشارة إلى أنّه سيتعين على التطبيق تسجيل مخطط عنوان URL الخاص به حتى يتجاوب مع عنوان URL لمعاودة الاتصال.

  1. تأكَّد من أنّ تطبيقك قد سجّل مخطط عنوان URL يمكنه الاستجابة لطلب معاودة الاتصال.
  2. مرِّر تصنيف زر معاودة الاتصال في المعلَمة x-source.
  3. أدخِل عنوان URL لمعاودة الاتصال في المعلَمة x-success.

سيطلق المثال التالي تطبيق خرائط Google لنظام التشغيل iOS ويعرض خريطة متمركزة حول نيويورك. سيعرض التطبيق أيضًا زرًا باسم "SourceApp". عند النقر على الزر SourceApp (تطبيق المصدر)، سيصدر تطبيق "خرائط Google" لنظام التشغيل iOS رد استدعاء لمخطّط عنوان URL وهمي sourceapp://?resume=true.

comgooglemaps-x-callback://?center=40.765819,-73.975866&zoom=14
   &x-success=sourceapp://?resume=true
   &x-source=SourceApp

كما هو الحال مع مخطّط عناوين URL comgooglemaps://، يجب أولاً التأكّد من أنّ تطبيق "خرائط Google" لنظام التشغيل iOS متاح على الجهاز وأنّه يتوافق مع مخطط عنوان URL لمعاودة الاتصال. يمكن لتطبيقك التحقّق من توفّر مخطط عنوان URL باستخدام الرمز التالي:

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
   [NSURL URLWithString:@"comgooglemaps-x-callback://"]];

هذا مثال على عنوان URL يتيح للمستخدمين العودة إلى التطبيق بعد البحث عن الحلوى.

comgooglemaps-x-callback://?q=dessert&center=37.759748,-122.427135
   &x-success=sourceapp://?resume=true
   &x-source=Nom+Nom

جارٍ إضافة ميزة التنقل إلى تطبيقك

إنّ إطلاق تطبيق "خرائط Google" لنظام التشغيل iOS مع طلب الاتجاهات هو طريقة سهلة لمنح المستخدمين إمكانية الوصول إلى الاتّجاهات المفصّلة من تطبيقك. يمكنك استخدام مخطَّطات عناوين URL comgooglemaps:// أو comgooglemaps-x-callback://.

يعرض مقتطف الرمز هذا كيفية استخدام مخطط comgooglemaps-x-callback:// لطلب الاتجاهات، ثم العودة إلى تطبيقك عندما يكون المستخدم جاهزًا. ستقوم التعليمات البرمجية بما يلي:

  1. تأكَّد من أنّ مخطط عنوان URL comgooglemaps-x-callback:// متاح.
  2. شغِّل تطبيق "خرائط Google" لأجهزة iOS واطلب الاتجاهات إلى مطار أبوظبي في مدينة نيويورك. اترك عنوان البداية فارغًا لطلب الاتجاهات من الموقع الجغرافي الحالي للمستخدم.
  3. أضِف زرًا يحمل اسم "AirApp" إلى تطبيق "خرائط Google" لنظام التشغيل iOS. يتم تحديد تصنيف الزر من خلال المعلّمة x-source.
  4. استدعِ مخطط عنوان URL الوهمي sourceapp:// عندما ينقر المستخدمون على زر الرجوع.

Swift

let testURL = URL(string: "comgooglemaps-x-callback://")!
if UIApplication.shared.canOpenURL(testURL) {
  let directionsRequest = "comgooglemaps-x-callback://" +
    "?daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York" +
    "&x-success=sourceapp://?resume=true&x-source=AirApp"

  let directionsURL = URL(string: directionsRequest)!
  UIApplication.shared.openURL(directionsURL)
} else {
  NSLog("Can't use comgooglemaps-x-callback:// on this device.")
}

Objective-C

NSURL *testURL = [NSURL URLWithString:@"comgooglemaps-x-callback://"];
if ([[UIApplication sharedApplication] canOpenURL:testURL]) {
  NSString *directionsRequest = @"comgooglemaps-x-callback://" +
      @"?daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York" +
      @"&x-success=sourceapp://?resume=true&x-source=AirApp";
  NSURL *directionsURL = [NSURL URLWithString:directionsRequest];
  [[UIApplication sharedApplication] openURL:directionsURL];
} else {
  NSLog(@"Can't use comgooglemaps-x-callback:// on this device.");
}

تشغيل تطبيق خرائط Google لنظام التشغيل iOS من عنوان URL لسطح المكتب في خرائط Google

إذا كان بإمكان تطبيقك الوصول إلى عنوان URL موجود مسبقًا في "خرائط Google"، كما هو الحال في صفحة ويب أو في قاعدة بيانات، يمكنك استخدام هذا المخطط لفتح عنوان URL في تطبيق "خرائط Google" لنظام التشغيل iOS، وبالتالي تقديم أفضل تجربة أصلية للمستخدمين.

  1. استبدِل المخطط http:// أو https:// بـ comgooglemapsurl://.
  2. إذا كنت تريد استخدام معاودة الاتصال، يمكنك تضمين المعلمتَين x-source وx-success. ويلتزم هذا المخطط بمواصفات x-callback-url.

تنسيقات عناوين URL المتوافقة في "خرائط Google"

يتيح المخطط comgooglemapsurl:// عناوين URL التي تتطابق مع هذا التعبير العادي، حيث يشير {TLD} إلى أي نطاق بلد صالح ذي مستوى أعلى. تتم إضافة فواصل الأسطر للتوضيح:

(http(s?)://)?
((maps\.google\.{TLD}/)|
 ((www\.)?google\.{TLD}/maps/)|
 (goo.gl/maps/))
.*

التحقق من توفر تطبيق خرائط Google

تحقق أولاً من أن تطبيق خرائط Google لنظام التشغيل iOS متاح على الجهاز، ويتوافق مع مخطط عنوان URL:

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
   [NSURL URLWithString:@"comgooglemapsurl://"]];

أمثلة

مثال على عنوان URL عام في "خرائط Google":

عنوان URL الأصلي في "خرائط Google":

https://www.google.com/maps/preview/@42.585444,13.007813,6z

استخدام مخطط عنوان URL:

comgooglemapsurl://www.google.com/maps/preview/@42.585444,13.007813,6z

مثال على عنوان URL عام في "خرائط Google":

عنوان URL الأصلي في "خرائط Google":

https://maps.google.com/?q=@37.3161,-122.1836

استخدام مخطط عنوان URL:

comgooglemapsurl://maps.google.com/?q=@37.3161,-122.1836

مثال على طلب الاتّجاهات إلى "برج طوكيو" مع x-callback:

عنوان URL الأصلي في "خرائط Google":

http://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1

سيطلق المثال التالي تطبيق "خرائط Google" لنظام التشغيل iOS ويعرض خريطة تتضمّن الاتجاهات إلى "برج طوكيو"، كما هو محدّد في عنوان URL الأصلي في "خرائط Google" (أعلاه). سيعرض التطبيق أيضًا زرًا باسم "SourceApp". عند النقر على الزر SourceApp (تطبيق المصدر)، سيصدر تطبيق "خرائط Google" لنظام التشغيل iOS رد استدعاء لنظام URL وهمي sourceapp://?resume=true.

comgooglemapsurl://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1
    &x-source=SourceApp
    &x-success=sourceapp://?resume=true