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

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

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

คุณไม่จำเป็นต้องมีคีย์ API ของ Google เพื่อใช้รูปแบบ 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 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://"]];

เช่น หากต้องการแสดงแผนที่เซ็นทรัลพาร์กในนิวยอร์ก คุณสามารถใช้โค้ดต่อไปนี้

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

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

พารามิเตอร์

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

เช่นเดียวกับcomgooglemaps://รูปแบบ URL คุณควรตรวจสอบก่อนว่าแอป 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