مخطط عنوان 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://"]];

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

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

إذا كان تطبيقك يتيح الوصول إلى عنوان 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/[email protected],-122.1836

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

comgooglemapsurl://maps.google.com/[email protected],-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