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

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

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

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

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

إذا تطابق عنوان URL مع التعبير العادي التالي، وكان الجهاز يعمل بالإصدار 9 من نظام التشغيل iOS أو إصدار أحدث، يمكنك استخدام طريقة 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. يُفضَّل استخدام الأسماء المختصرة.
  • 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. يمكن لتطبيقك التحقق من توفر مخطط عنوان 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