รูปแบบ 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 รองรับUniversal App Link ในอุปกรณ์ที่ใช้ 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 Maps สําหรับ 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 ก็ได้ นอกจากนี้ คุณยังส่ง goo.gl/mapsURL การเปลี่ยนเส้นทางได้ด้วย
    • คุณสามารถออกการเรียกกลับได้โดยใช้พารามิเตอร์ 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://"]];

เช่น หากต้องการแสดงแผนที่ของ 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 เพื่อแสดงแผนที่ในระดับการซูมและตำแหน่งที่ระบุ นอกจากนี้ คุณยังวางซ้อนมุมมองอื่นๆ บนแผนที่หรือแสดงภาพ 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 NYC กับสนามบิน 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-callback ยอมรับพารามิเตอร์เดียวกับรูปแบบ URL comgooglemaps:// โดยมีพารามิเตอร์เพิ่มเติมดังต่อไปนี้ ต้องระบุพารามิเตอร์ทั้ง 2 รายการ

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

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

  1. ตรวจสอบว่าแอปพลิเคชันของคุณได้ลงทะเบียนรูปแบบ URL ที่ตอบสนองต่อคําขอการเรียกกลับได้
  2. ส่งป้ายกํากับสําหรับปุ่ม Callback ในพารามิเตอร์ 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 พร้อมใช้งานบนอุปกรณ์และรองรับรูปแบบ 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 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. หากต้องการใช้การเรียกกลับ ให้ใส่พารามิเตอร์ x-source และ x-success สคีมนี้เป็นไปตามข้อกำหนด x-callback-url

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

สคีม comgooglemapsurl:// รองรับ 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 จะเรียกใช้การติดต่อกลับไปยังรูปแบบ 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