ในอุปกรณ์ที่ใช้ iOS 9 ขึ้นไป คุณจะใช้ลิงก์สากลเพื่อเปิด Google Maps ได้เมื่อมี URL ของ Google Maps
คุณสามารถใช้ชุดรูปแบบ URL ของ Google Maps เพื่อเปิดตัวแอป Google Maps สําหรับ iOS และทําการค้นหา รับคําขอเส้นทาง และแสดงมุมมองแผนที่ เมื่อเปิด Google Maps ระบบจะส่งตัวระบุกลุ่มอีเมลโดยอัตโนมัติเป็นส่วนหนึ่งของคําขอ
คุณไม่ต้องใช้คีย์ Google API เพื่อใช้สกีม URL ของ Google แผนที่
Universal Link และ 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 และดําเนินการอย่างใดอย่างหนึ่งต่อไปนี้ได้- แสดงแผนที่ในตําแหน่งที่เฉพาะเจาะจงและระดับการซูม
- ค้นหาสถานที่หรือสถานที่ แล้วแสดงบนแผนที่
- ขอเส้นทางจากตําแหน่งหนึ่งไปยังอีกตําแหน่งหนึ่ง สามารถคืนเส้นทางสําหรับการเดินทางได้สี่รูปแบบ คือ ขับรถ เดิน ปั่นจักรยาน และขนส่งสาธารณะ
- เพิ่มการนําทางในแอป
- ผ่าน iOS 8 ให้โทรกลับเมื่อมีการใช้แอปเสร็จสิ้นโดยใช้
comgooglemaps-x-callback://
การเรียกกลับมักจะใช้เพื่อนําผู้ใช้ กลับไปยังแอปที่ใช้ Google แผนที่สําหรับ 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
ที่มีรูปแบบ URLcomgooglemapsurl://
- URL เดิมอาจเป็นของ
การเปิดแอปพลิเคชัน Google แผนที่สําหรับ 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
คุณตั้งค่าหลายค่าโดยใช้ Comma-Sperparator หากมีการระบุพารามิเตอร์โดยไม่มีค่าใด พารามิเตอร์จะ ล้างมุมมองทั้งหมด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¢er=37.759748,-122.427135
ตัวอย่างเพิ่มเติมได้แก่
comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA¢er=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan¢er=35.660888,139.73073&zoom=15&views=transit
การแสดงเส้นทาง
ใช้รูปแบบนี้เพื่อขอและแสดงเส้นทางระหว่างสองสถานที่ นอกจากนี้ คุณยังสามารถระบุโหมดการขนส่ง
พารามิเตอร์
saddr
: กําหนดต้นทางสําหรับการค้นหาเส้นทาง ซึ่งอาจเป็นละติจูด ลองจิจูด หรือที่อยู่ในรูปแบบการค้นหา ถ้าเป็นสตริงการค้นหาที่แสดงผลลัพธ์มากกว่า 1 รายการ ระบบจะเลือกผลลัพธ์แรก หากเว้นค่าไว้ ระบบจะใช้ตําแหน่งปัจจุบันของผู้ใช้daddr
: กําหนดจุดสิ้นสุดสําหรับการค้นหาเส้นทาง มีรูปแบบและลักษณะการทํางานเหมือนกับsaddr
directionsmode
: วิธีเดินทาง ตั้งค่าเป็นdriving
,transit
,bicycling
หรือwalking
ได้
URL ตัวอย่างจะแสดงเส้นทางการขนส่งระหว่าง Google NYC และ JFK Airport:
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¢er=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¢er=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 ยอมรับพารามิเตอร์เดียวกันกับสคีมของ URL
comgooglemaps://
ซึ่งมีพารามิเตอร์เพิ่มเติมต่อไปนี้ ต้องระบุพารามิเตอร์ทั้ง 2 ตัว
x-source
— ชื่อแอปพลิเคชันที่ส่งคําขอ x-callback ขอแนะนําให้ใช้ชื่อย่อx-success
— URL ที่จะเรียกใช้เมื่อเสร็จสมบูรณ์ ซึ่งมักจะเป็นสกีม URL สําหรับแอปของคุณเอง ซึ่งทําให้ผู้ใช้สามารถกลับไปยังแอปพลิเคชันเดิมได้
โปรดทราบว่าแอปของคุณจะต้องลงทะเบียนชุดรูปแบบ URL ของตนเองเพื่อให้ตอบสนองต่อ URL เรียกกลับได้
- ตรวจสอบว่าแอปพลิเคชันได้ลงทะเบียนชุดรูปแบบ URL ที่สามารถตอบสนองต่อคําขอติดต่อกลับ
- ส่งป้ายกํากับสําหรับปุ่มติดต่อกลับในพารามิเตอร์
x-source
- ส่ง URL เรียกกลับในพารามิเตอร์
x-success
ตัวอย่างต่อไปนี้จะเปิดแอป Google แผนที่สําหรับ 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 แอปจะตรวจสอบได้ว่าสคีม 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¢er=37.759748,-122.427135
&x-success=sourceapp://?resume=true
&x-source=Nom+Nom
การเพิ่มการนําทางลงในแอป
การเปิดตัวแอป Google Maps สําหรับ iOS ด้วยคําขอเส้นทางเป็นวิธีที่ง่ายในการให้ผู้ใช้เข้าถึงการนําทางแบบเลี้ยวต่อเลี้ยวจากแอปของคุณ คุณสามารถใช้รูปแบบ URL แบบ comgooglemaps://
หรือ comgooglemaps-x-callback://
ก็ได้
ข้อมูลโค้ดนี้จะแสดงวิธีใช้สกีม comgooglemaps-x-callback://
เพื่อขอเส้นทาง จากนั้นกลับไปที่แอปของคุณเมื่อผู้ใช้พร้อม โค้ดจะดําเนินการต่อไปนี้
- ยืนยันว่าใช้รูปแบบ URL ของ
comgooglemaps-x-callback://
ได้ - เปิดแอป Google Maps สําหรับ iOS และขอเส้นทางไปยังสนามบิน JFK ในนิวยอร์กซิตี้ ปล่อยที่อยู่เริ่มต้นว่างไว้เพื่อขอเส้นทางจากตําแหน่งปัจจุบันของผู้ใช้
- เพิ่มปุ่มที่มีป้ายกํากับว่า "AirApp" ในแอป Google Maps สําหรับ iOS ป้ายกํากับปุ่มจะกําหนดโดยพารามิเตอร์
x-source
- เรียกใช้รูปแบบ 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 แผนที่สําหรับ iOS จาก URL เดสก์ท็อปของ Google แผนที่
หากแอปมีสิทธิ์เข้าถึง URL ของ Google Maps ที่มีอยู่แล้ว เช่น ในหน้าเว็บหรือในฐานข้อมูล คุณใช้สคีมนี้เพื่อเปิด URL ในแอป Google Maps สําหรับ iOS ได้ ซึ่งจะทําให้ผู้ใช้ได้รับประสบการณ์ใช้งานโฆษณาเนทีฟที่ดีที่สุด
- แทนที่รูปแบบ
http://
หรือhttps://
ด้วยcomgooglemapsurl://
- หากต้องการใช้การเรียกกลับ ให้ใส่พารามิเตอร์
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
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 แผนที่สําหรับ iOS และแสดงแผนที่พร้อมเส้นทางไปยังโตเกียวทาวเวอร์ ตามที่ระบุไว้ใน URL ของ Google แผนที่ดั้งเดิม (ข้างต้น) แอปจะแสดงปุ่มที่มีข้อความว่า
"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