รูปแบบ 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:// โดยทั่วไปแล้ว 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 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. ตรวจสอบว่าแอปพลิเคชันได้ลงทะเบียน Scheme ของ URL ที่ตอบสนองต่อคำขอ Callback ได้
  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. หากต้องการใช้ 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