รูปแบบ 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 Links ในอุปกรณ์ที่ใช้ 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:// การเรียกกลับมักใช้เพื่อนำผู้ใช้กลับไปยังแอปที่เคยเปิด 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 ได้ด้วย
    • คุณดำเนินการ Callback ได้โดยใช้พารามิเตอร์ x-source และ x-success กับรูปแบบ URL comgooglemapsurl://

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

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

comgooglemaps://?parameters

หรือ

comgooglemaps-x-callback://?parameters

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

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

ก่อนที่จะแสดง URL ใด 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-callback ยอมรับพารามิเตอร์เดียวกับรูปแบบ URL comgooglemaps:// พร้อมพารามิเตอร์เพิ่มเติมต่อไปนี้ ซึ่งจำเป็นต้องใช้พารามิเตอร์ทั้ง 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 ที่ตรงกับนิพจน์ทั่วไปนี้ โดยที่ {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