รูปแบบ URL ของ Google Maps สําหรับ iOS

ในอุปกรณ์ที่ใช้ iOS 9 ขึ้นไป คุณสามารถใช้ Universal Link จะเปิดตัว Google Maps เมื่อมี URL ของ Google Maps

คุณสามารถใช้รูปแบบ URL ของ Google Maps เพื่อเปิดตัว แอป Google Maps สำหรับ iOS และทำการค้นหา ขอเส้นทาง คำขอ และแสดงมุมมองแผนที่ เมื่อคุณเปิด Google Maps แพ็กเกจของคุณ ส่งโดยอัตโนมัติเป็นส่วนหนึ่งของคำขอ

คุณไม่จำเป็นต้องใช้คีย์ Google API เพื่อใช้ชุดรูปแบบ URL ของ Google Maps

Google Maps สำหรับ 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 Maps สำหรับ iOS สนับสนุน URL ต่อไปนี้ สคีม:

  • comgooglemaps:// และ comgooglemaps-x-callback:// - รูปแบบเหล่านี้ ทำให้คุณสามารถเปิดตัวแอป Google แผนที่สำหรับ iOS และดำเนินการอย่างใดอย่างหนึ่ง การดำเนินการ:

    • แสดงแผนที่ในตำแหน่งและระดับการซูมที่ระบุ
    • ค้นหาสถานที่หรือสถานที่ แล้วแสดงบนแผนที่
    • ขอเส้นทางจากสถานที่หนึ่งไปยังอีกสถานที่หนึ่ง สามารถส่งคืนเส้นทางได้ สำหรับ 4 รูปแบบการเดินทาง ได้แก่ ขับรถ เดิน ขี่จักรยาน และสาธารณะ ขนส่งสาธารณะ
    • เพิ่มการนำทางลงในแอป
    • สำหรับ iOS 8 ให้เรียกกลับเมื่อแอปเสร็จสมบูรณ์ โดยใช้ comgooglemaps-x-callback:// Callback มักใช้เพื่อ นำผู้ใช้กลับไปยังแอปที่เคยเปิด Google Maps สำหรับ iOS โปรดทราบว่า บน iOS 9 ระบบจะแจ้งเตือน "กลับไปที่" โดยอัตโนมัติ ลิงก์ที่มุมซ้ายของ แถบสถานะ
  • comgooglemapsurl:// - รูปแบบนี้ทำให้คุณสามารถเปิดแอป Google Maps ได้ สำหรับ iOS โดยใช้ URL ที่ได้มาจากเว็บไซต์ Google Maps ในเดสก์ท็อป ซึ่งหมายความว่า คุณสามารถให้ผู้ใช้ได้รับประสบการณ์ บนอุปกรณ์เคลื่อนที่แบบเนทีฟแทน กำลังโหลดเว็บไซต์ Google Maps

    • URL เดิมอาจเป็นของ maps.google.com หรือสำหรับ google.com/maps ก็ได้ หรือใช้โดเมนประเทศระดับบนสุดที่ถูกต้องแทน com นอกจากนี้คุณยังส่งต่อ URL เปลี่ยนเส้นทางไปยัง goo.gl/maps ได้ด้วย
    • คุณสามารถโทรกลับได้โดยใช้x-source และx-success ที่มีรูปแบบ URL comgooglemapsurl://

การเปิดตัวแอป Google Maps สำหรับ iOS และการทำงานที่เจาะจง

เมื่อต้องการเปิดใช้งานแอป Google Maps สำหรับ iOS และเลือกดำเนินการอย่างใดอย่างหนึ่ง ฟังก์ชันที่รองรับ ให้ใช้รูปแบบ URL ในรูปแบบต่อไปนี้

comgooglemaps://?parameters

หรือ

comgooglemaps-x-callback://?parameters

เราจะอธิบายพารามิเตอร์โดยละเอียดภายหลังในเอกสารนี้

กำลังตรวจสอบความพร้อมให้บริการของแอป Google Maps บนอุปกรณ์

ก่อนที่จะแสดง 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 เพื่อแสดงแผนที่ในระดับการซูมและตำแหน่งที่ระบุ คุณยังสามารถวางซ้อนมุมมองอื่นๆ บนแผนที่ของคุณหรือแสดงภาพ Street View ได้

พารามิเตอร์

พารามิเตอร์ต่อไปนี้ทั้งหมดเป็นตัวเลือก หากไม่ได้ตั้งค่าพารามิเตอร์ไว้ ระบบจะ ชุดรูปแบบ URL จะเปิดแอป Google Maps สำหรับ 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

ใช้รูปแบบนี้เพื่อแสดงคำค้นหาในตำแหน่งวิวพอร์ตที่ระบุ

พารามิเตอร์

นอกจากพารามิเตอร์ที่ใช้เพื่อแสดงแผนที่แล้ว Search ยังรองรับ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

กำลังแสดงเส้นทาง

ใช้รูปแบบนี้เพื่อส่งคำขอและแสดงเส้นทางระหว่างสถานที่ 2 แห่ง หรือจะระบุรูปแบบการเดินทางก็ได้

พารามิเตอร์

  • saddr: ตั้งค่าจุดเริ่มต้นสำหรับการค้นหาเส้นทาง ประเภท ละติจูด ลองจิจูด หรือที่อยู่ที่มีการจัดรูปแบบการค้นหา หากเป็นคำค้นหา ที่แสดงผลลัพธ์มากกว่า 1 รายการ ผลลัพธ์แรกจะเป็น ไว้ หากปล่อยค่าว่างไว้ ระบบจะแสดงตำแหน่งปัจจุบันของผู้ใช้ จะถูกนำมาใช้
  • 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 Maps สำหรับ iOS ด้วยรูปแบบนี้ แอปจะแสดงปุ่มที่ด้านบนของ หน้าจอ การแตะปุ่มนี้จะเป็นการเรียกคืน URL ที่ ที่คุณระบุไว้

คำขอไปยัง comgooglemaps-x-callback:// ต้องอยู่ในรูปแบบดังนี้

comgooglemaps-x-callback://?parameters

พารามิเตอร์

รูปแบบ URL เรียกกลับ x ยอมรับพารามิเตอร์เดียวกันกับ comgooglemaps:// ชุดรูปแบบ URL ที่มีพารามิเตอร์เพิ่มเติมต่อไปนี้ ทั้ง 2 พารามิเตอร์ ต้องระบุ

  • x-source — ชื่อแอปพลิเคชันที่ส่ง x-callback อีกครั้ง เราขอแนะนำให้ใช้ชื่อย่อ
  • x-success — URL ที่จะเรียกเมื่อดำเนินการเสร็จสมบูรณ์ ซึ่งมักจะเป็น เป็นสคีม URL สำหรับแอปของคุณเอง ซึ่งทำให้ผู้ใช้สามารถกลับไปยัง แอปพลิเคชัน

โปรดทราบว่าแอปจะต้องลงทะเบียนรูปแบบ URL ของตนเองเพื่อให้แอปทำสิ่งต่อไปนี้ได้ ตอบสนองต่อ URL เรียกกลับ

  1. ตรวจสอบว่าแอปพลิเคชันของคุณได้ลงทะเบียน Scheme ของ URL ที่ตอบกลับได้ ลงในคำขอ Callback
  2. ส่งต่อป้ายกํากับสําหรับปุ่มติดต่อกลับในพารามิเตอร์ x-source
  3. ส่ง URL ติดต่อกลับในพารามิเตอร์ x-success

ตัวอย่างต่อไปนี้จะเปิดแอป Google Maps สำหรับ iOS และแสดงแผนที่ ซึ่งมีศูนย์กลางอยู่ที่นิวยอร์ก แอปจะแสดงปุ่มที่มีป้ายกำกับว่า "SourceApp" ด้วย เมื่อ "SourceApp" เมื่อคลิกปุ่ม แอป Google Maps สำหรับ 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 Maps สำหรับ iOS มีให้ใช้งานบนอุปกรณ์ และ รูปแบบ x-callback 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 Maps สำหรับ iOS ด้วยการขอเส้นทางเป็นวิธีง่ายๆ ในการ ให้สิทธิ์ผู้ใช้เข้าถึงการนำทางแบบเลี้ยวต่อเลี้ยวจากแอปของคุณ คุณสามารถใช้ รูปแบบ URL comgooglemaps:// หรือ comgooglemaps-x-callback://

ข้อมูลโค้ดนี้จะแสดงวิธีใช้รูปแบบ comgooglemaps-x-callback:// เพื่อ ขอเส้นทาง แล้วกลับมาที่แอปเมื่อผู้ใช้พร้อม จะทำงานดังต่อไปนี้

  1. ยืนยันว่ารูปแบบ URL comgooglemaps-x-callback:// พร้อมใช้งาน
  2. เปิดแอป Google Maps สำหรับ iOS และขอเส้นทางไปยังสนามบิน JFK ใน นิวยอร์กซิตี้ ปล่อยที่อยู่เริ่มต้นว่างไว้เพื่อขอเส้นทางจาก ตำแหน่งปัจจุบันของผู้ใช้
  3. เพิ่มปุ่มที่มีป้ายกำกับว่า "AirApp" ไปยังแอป Google Maps สำหรับ 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 Maps สำหรับ iOS จาก URL บนเดสก์ท็อปของ Google Maps

หากแอปมีสิทธิ์เข้าถึง URL ของ Google Maps ที่มีอยู่แล้ว เช่น ในหน้าเว็บ หรือในฐานข้อมูล คุณสามารถใช้รูปแบบนี้เพื่อเปิด URL ในแอป Google Maps สำหรับ iOS จึงมอบประสบการณ์เนทีฟที่ดีที่สุดให้กับผู้ใช้

  1. แทนที่สคีม http:// หรือ https:// ด้วย comgooglemapsurl://
  2. หากต้องการใช้ Callback ให้ใส่ x-source และ x-success พารามิเตอร์ รูปแบบนี้เป็นไปตามข้อกำหนดเกี่ยวกับ x-callback-url

รูปแบบ URL ของ Google Maps ที่รองรับ

รูปแบบ comgooglemapsurl:// จะรองรับ URL ที่ตรงกับ URL ปกตินี้ นิพจน์ โดยที่ {TLD} หมายถึงโดเมนระดับประเทศระดับบนสุดใดๆ ที่ถูกต้อง เส้น เพิ่มช่วงพักโฆษณาเพื่อความชัดเจน ดังนี้

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

การตรวจสอบความพร้อมใช้งานของแอป Google Maps

ก่อนอื่น ให้ยืนยันว่าแอป Google Maps สำหรับ iOS มีให้ใช้งานบนอุปกรณ์ และ รองรับรูปแบบ URL ดังนี้

Swift

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

Objective-C

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

ตัวอย่าง

ตัวอย่าง URL ของ Google Maps ทั่วไปมีดังนี้

URL เดิมของ Google Maps:

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 Maps ทั่วไปมีดังนี้

URL เดิมของ Google Maps:

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

การใช้รูปแบบ URL

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

ตัวอย่างการขอเส้นทางไปโตเกียวทาวเวอร์ด้วย x-callback

URL เดิมของ Google Maps:

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 Maps สำหรับ iOS และแสดงแผนที่ พร้อมเส้นทางไปยังโตเกียวทาวเวอร์ตามที่ระบุไว้ใน URL เดิมของ Google Maps (ด้านบน) แอปจะแสดงปุ่มที่มีป้ายกำกับ "SourceApp" เมื่อ "SourceApp" นั่นคือแอป Google Maps สำหรับ iOS จะออก Callback ไปยัง Scheme ของ 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