Trên các thiết bị chạy iOS 9 trở lên, bạn có thể sử dụng Đường liên kết phổ quát để chạy Google Maps khi bạn có URL của Google Maps.
Bạn có thể sử dụng lược đồ URL của Google Maps để khởi chạy Ứng dụng Google Maps dành cho iOS và thực hiện tìm kiếm, nhận thông tin chỉ đường và hiển thị chế độ xem bản đồ. Khi bạn ra mắt Google Maps, gói của bạn tự động được gửi dưới dạng một phần của yêu cầu.
Bạn không cần khoá API của Google để sử dụng lược đồ URL của Google Maps.
Đường liên kết phổ quát và Google Maps
Hỗ trợ Google Maps dành cho iOS Chung Đường liên kết trên các thiết bị chạy iOS 9 trở lên.
Nếu URL của bạn khớp với biểu thức chính quy sau đây và thiết bị đang chạy iOS 9 trở lên, bạn có thể cân nhắc sử dụng trực tiếp phương thức openURL:.
(http(s?)://)?
((maps\.google\.{TLD}/)|
((www\.)?google\.{TLD}/maps/)|
(goo.gl/maps/))
.*
Ví dụ:
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"]];
Tổng quan
Lược đồ URL cho phép bạn chạy một ứng dụng iOS gốc từ một ứng dụng iOS khác hoặc một ứng dụng web. Bạn có thể đặt tuỳ chọn trong URL sẽ được chuyển đến đã khởi chạy ứng dụng. Ứng dụng Google Maps dành cho iOS hỗ trợ URL sau chương trình:
comgooglemaps://
vàcomgooglemaps-x-callback://
– Các giao thức này cho phép bạn khởi chạy ứng dụng Google Maps dành cho iOS và thực hiện một trong số hành động:- Hiển thị bản đồ tại một vị trí và mức thu phóng được chỉ định.
- Tìm kiếm vị trí hoặc địa điểm và hiển thị chúng trên bản đồ.
- Yêu cầu chỉ đường từ vị trí này đến vị trí khác. Có thể trả lại đường đi cho bốn phương tiện giao thông: lái xe, đi bộ, đi xe đạp và đi xe đạp công cộng phương tiện công cộng.
- Thêm thành phần điều hướng vào ứng dụng.
- Thông qua iOS 8, thực hiện lệnh gọi lại khi ứng dụng đã hoàn tất, sử dụng
comgooglemaps-x-callback://
. Lệnh gọi lại thường được dùng để đưa người dùng trở lại ứng dụng đã mở Google Maps cho iOS ban đầu. Lưu ý rằng trên iOS 9, hệ thống tự động cung cấp nút "Quay lại" đường liên kết ở góc bên trái của thanh trạng thái.
comgooglemapsurl://
– Lược đồ này cho phép bạn chạy ứng dụng Google Maps dành cho iOS bằng cách sử dụng URL bắt nguồn từ trang web Google Maps dành cho máy tính để bàn. Điều này có nghĩa là mà bạn có thể cung cấp cho người dùng trải nghiệm gốc trên thiết bị di động thay vì chỉ đơn thuần đang tải trang web Google Maps.- URL gốc có thể là cho
maps.google.com
hoặc chogoogle.com/maps
, hoặc sử dụng bất kỳ miền quốc gia cấp cao nhất hợp lệ nào thay vìcom
. Bạn cũng có thể chuyển vàogoo.gl/maps
URL chuyển hướng. - Bạn có thể thực hiện lệnh gọi lại bằng
x-source
vàx-success
các tham số có giao thức URLcomgooglemapsurl://
.
- URL gốc có thể là cho
Khởi chạy ứng dụng Google Maps dành cho iOS và thực hiện một chức năng cụ thể
Để khởi chạy ứng dụng Google Maps dành cho iOS và tùy ý thực hiện một trong những được hỗ trợ, hãy sử dụng lược đồ URL có dạng sau:
comgooglemaps://?parameters
hoặc:
comgooglemaps-x-callback://?parameters
Các tham số được mô tả chi tiết ở phần sau của tài liệu này.
Kiểm tra phạm vi cung cấp của ứng dụng Google Maps trên thiết bị
Trước khi trình bày một trong những URL này cho người dùng trong ứng dụng của mình, đầu tiên bạn nên xác minh rằng ứng dụng đã được cài đặt. Ứng dụng của bạn có thể kiểm tra xem URL có sẵn giao thức với đoạn mã sau:
Swift
UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)
Objective-C
[[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemaps://"]];
Ví dụ: để hiển thị bản đồ của Công viên Trung tâm tại New York, bạn có thể sử dụng mã sau:
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://");
}
Đang hiển thị bản đồ
Sử dụng lược đồ URL để hiển thị bản đồ ở một vị trí và mức thu phóng được chỉ định. Bạn cũng có thể phủ các chế độ xem khác lên trên bản đồ của mình hoặc hiển thị hình ảnh trong Chế độ xem đường phố.
Tham số
Tất cả thông số sau đây là không bắt buộc. Nếu không có thông số nào được đặt, giá trị Lược đồ URL sẽ khởi chạy ứng dụng Google Maps dành cho iOS.
center
: Đây là điểm trung tâm của khung nhìn bản đồ. Được định dạng dưới dạng dấu phẩy chuỗi được phân tách củalatitude,longitude
.mapmode
: Thiết lập loại bản đồ được hiển thị. Có thể đặt thành:standard
hoặcstreetview
. Nếu không được chỉ định, cài đặt ứng dụng hiện tại sẽ là đã sử dụng.views
: Bật/tắt các chế độ xem cụ thể. Có thể được đặt thành:satellite
,traffic
hoặctransit
. Có thể đặt nhiều giá trị bằng cách sử dụng dấu phẩy. Nếu tham số được chỉ định mà không có giá trị, thì tham số sẽ xoá tất cả chế độ xem.zoom
: Chỉ định mức thu phóng của bản đồ.
URL ví dụ này hiển thị bản đồ tập trung vào New York ở mức thu phóng 14 với chế độ xem giao thông trên:
comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic
Một số ví dụ khác là:
comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview
Tìm kiếm
Sử dụng lược đồ này để hiển thị các truy vấn tìm kiếm ở một vị trí cụ thể trong khung nhìn.
Tham số
Ngoài các tham số dùng để hiển thị bản đồ, Tìm kiếm hỗ trợ q
.
q
: Chuỗi truy vấn cho nội dung tìm kiếm của bạn.
URL ví dụ này cho việc tìm kiếm "Pizza" xung quanh vị trí được chỉ định:
comgooglemaps://?q=Pizza¢er=37.759748,-122.427135
Một số ví dụ khác là:
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
Hiển thị chỉ đường
Sử dụng lược đồ này để yêu cầu và hiển thị chỉ đường giữa hai vị trí. Bạn cũng có thể chỉ định phương thức di chuyển.
Tham số
saddr
: Đặt điểm bắt đầu cho các lượt tìm kiếm chỉ đường. Thông tin này có thể là vĩ độ,kinh độ hoặc địa chỉ có định dạng truy vấn. Nếu đó là truy vấn chuỗi trả về nhiều kết quả, kết quả đầu tiên sẽ là đã chọn. Nếu giá trị này được để trống, thì vị trí hiện tại của người dùng sẽ được sử dụng.daddr
: Đặt điểm cuối cho các lượt tìm kiếm chỉ đường. Có thuộc tính cùng định dạng và hành vi nhưsaddr
.directionsmode
: Phương thức di chuyển. Có thể đặt thành:driving
,transit
,bicycling
hoặcwalking
.
URL ví dụ hiển thị chỉ đường chuyển tuyến giữa Google NYC và Sân bay JFK:
comgooglemaps://?saddr=Google+Inc,+8th+Avenue,+New+York,+NY&daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York&directionsmode=transit
Một số ví dụ khác là:
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
Chỉ định URL gọi lại
Nếu bạn muốn chỉ định một URL gọi lại, bạn phải sử dụng
Giao thức URL comgooglemaps-x-callback://
. Lược đồ này tuân thủ
quy cách x-callback-url. Khi bạn gọi ứng dụng Google Maps dành cho iOS
với lược đồ này, ứng dụng sẽ hiển thị một nút ở đầu
màn hình. Thao tác nhấn vào nút này sẽ thực hiện lệnh gọi lại đến URL
mà bạn đã chỉ định.
Yêu cầu đối với comgooglemaps-x-callback://
phải ở dạng:
comgooglemaps-x-callback://?parameters
Tham số
Giao thức URL gọi lại x chấp nhận các tham số giống như comgooglemaps://
Lược đồ URL, với các tham số bổ sung sau đây. Cả hai thông số đều
là bắt buộc.
x-source
– Tên của ứng dụng gửi lệnh gọi lại x của bạn. Ưu tiên tên ngắn.x-success
– URL cần gọi khi hoàn tất. Thông thường, thao tác này sẽ là lược đồ URL cho ứng dụng của riêng bạn, cho phép người dùng quay lại giao diện ban đầu .
Xin lưu ý rằng ứng dụng của bạn sẽ phải đăng ký lược đồ URL riêng để có thể phản hồi URL gọi lại.
- Đảm bảo rằng ứng dụng của bạn đã đăng ký một lược đồ URL có thể phản hồi cho yêu cầu gọi lại.
- Truyền nhãn cho nút gọi lại trong tham số
x-source
. - Truyền URL gọi lại vào tham số
x-success
.
Ví dụ sau đây sẽ khởi chạy ứng dụng Google Maps dành cho iOS và hiển thị một bản đồ
có tâm điểm là New York. Ứng dụng cũng sẽ hiển thị một nút được gắn nhãn "SourceApp".
Khi "SourceApp" khi người dùng nhấp vào nút, ứng dụng Google Maps dành cho iOS sẽ gặp sự cố
lệnh gọi lại đến một giao thức URL giả định, sourceapp://?resume=true
.
comgooglemaps-x-callback://?center=40.765819,-73.975866&zoom=14
&x-success=sourceapp://?resume=true
&x-source=SourceApp
Cũng giống như với giao thức URL comgooglemaps://
, trước tiên, bạn cần xác minh rằng
ứng dụng Google Maps dành cho iOS có sẵn trên thiết bị và hỗ trợ
lược đồ URL gọi lại x. Ứng dụng của bạn có thể kiểm tra xem có lược đồ URL nào không
bằng mã sau:
Swift
UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)
Objective-C
[[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemaps-x-callback://"]];
Đây là ví dụ về URL cho phép người dùng quay lại ứng dụng sau khi tìm kiếm món tráng miệng.
comgooglemaps-x-callback://?q=dessert¢er=37.759748,-122.427135
&x-success=sourceapp://?resume=true
&x-source=Nom+Nom
Thêm tính năng điều hướng vào ứng dụng
Khởi chạy ứng dụng Google Maps dành cho iOS với yêu cầu chỉ đường là một cách dễ dàng để
cho phép người dùng truy cập tính năng điều hướng từng chặng từ ứng dụng của bạn. Bạn có thể sử dụng
giao thức URL comgooglemaps://
hoặc comgooglemaps-x-callback://
.
Đoạn mã này cho biết cách sử dụng giao thức comgooglemaps-x-callback://
để
yêu cầu chỉ đường rồi quay lại ứng dụng của bạn khi người dùng đã sẵn sàng. Chiến lược phát hành đĩa đơn
mã sẽ thực hiện những việc sau:
- Xác minh rằng có thể sử dụng lược đồ URL
comgooglemaps-x-callback://
. - Khởi chạy ứng dụng Google Maps cho iOS và yêu cầu chỉ đường đến Sân bay JFK ở Thành phố New York. Để trống địa chỉ xuất phát để yêu cầu chỉ đường từ vị trí hiện tại của người dùng.
- Thêm một nút có nhãn "AirApp" vào ứng dụng Google Maps dành cho iOS. Nút
nhãn được xác định bằng tham số
x-source
. - Gọi giao thức URL giả định
sourceapp://
khi người dùng nhấp vào nút quay lại.
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.");
}
Khởi chạy ứng dụng Google Maps dành cho iOS từ URL Google Maps trên máy tính để bàn
Nếu ứng dụng của bạn có quyền truy cập vào một URL có sẵn trên Google Maps, chẳng hạn như trên một trang web hoặc trong cơ sở dữ liệu, bạn có thể sử dụng lược đồ này để mở URL trong ứng dụng Google Maps dành cho iOS, từ đó cung cấp cho người dùng của bạn trải nghiệm gốc tốt nhất.
- Thay thế giao thức
http://
hoặchttps://
bằngcomgooglemapsurl://
. - Nếu bạn muốn sử dụng lệnh gọi lại, hãy thêm
x-source
vàx-success
tham số. Giao thức này tuân thủ quy cách x-callback-url.
Các định dạng URL được Google Maps hỗ trợ
Giao thức comgooglemapsurl://
hỗ trợ các URL khớp với mã thông thường này
biểu thức, trong đó {TLD}
đề cập đến mọi miền quốc gia cấp cao nhất hợp lệ. Đường kẻ
điểm ngắt được thêm vào để cho rõ ràng:
(http(s?)://)?
((maps\.google\.{TLD}/)|
((www\.)?google\.{TLD}/maps/)|
(goo.gl/maps/))
.*
Kiểm tra phạm vi cung cấp của ứng dụng Google Maps
Trước tiên, hãy xác minh rằng ứng dụng Google Maps dành cho iOS hoạt động trên thiết bị và hỗ trợ lược đồ URL:
Swift
UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)
Objective-C
[[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemapsurl://"]];
Ví dụ
Ví dụ về URL chung trên Google Maps:
URL Google Maps gốc:
https://www.google.com/maps/preview/@42.585444,13.007813,6z
Sử dụng lược đồ URL:
comgooglemapsurl://www.google.com/maps/preview/@42.585444,13.007813,6z
Ví dụ về URL chung trên Google Maps:
URL Google Maps gốc:
https://maps.google.com/?q=@37.3161,-122.1836
Sử dụng lược đồ URL:
comgooglemapsurl://maps.google.com/?q=@37.3161,-122.1836
Ví dụ về yêu cầu chỉ đường đến Tháp Tokyo bằng lệnh gọi lại:
URL Google Maps gốc:
http://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1
Ví dụ sau đây sẽ khởi chạy ứng dụng Google Maps dành cho iOS và hiển thị một bản đồ
với chỉ đường đến Tháp Tokyo, như được chỉ định trong URL Google Maps ban đầu
(ở trên). Ứng dụng cũng sẽ cho thấy nút được gắn nhãn
"SourceApp". Khi "SourceApp" nút được nhấp vào, ứng dụng Google Maps dành cho iOS
sẽ thực hiện lệnh gọi lại đến một giao thức URL giả định 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