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

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

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

لست بحاجة إلى مفتاح Google API لاستخدام مخطّط عناوين 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. يمكنك أيضًا تمرير عناوين URL لإعادة التوجيه goo.gl/maps.
    • يمكنك إصدار طلب معاودة الاتصال باستخدام المَعلمتَين 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://"]];

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

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. يمكن ضبط قيم متعددة باستخدام فاصل بفاصلة. في حال تحديد المَعلمة بدون قيمة، سيتم clearing all views (محو كل العروض).
  • 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 في مدينة نيويورك ومطار JFK:

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-callback المَعلمات نفسها التي يقبلها مخطّط عنوان 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 x-callback. يمكن لتطبيقك التحقّق من توفّر مخطّط عنوان 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 مع طلب اتّجاهات هي طريقة سهلة لمنح المستخدمين إمكانية التنقّل من خلال اتّجاهات مفصّلة من تطبيقك. ويمكنك استخدام أحد مخطّطي عناوين URLcomgooglemaps:// أو comgooglemaps-x-callback://.

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

  1. تأكَّد من توفّر مخطّط عنوان URL comgooglemaps-x-callback://.
  2. افتح تطبيق "خرائط Google" لأجهزة iOS، واطلب الاتجاهات إلى مطار JFK في مدينة نيويورك. اترك عنوان البدء فارغًا لطلب الاتجاهات من الموقع الجغرافي الحالي للمستخدم.
  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