是否有用于启动带有路线的Yandex地图应用程序的URL方案?
我可以使用几行代码启动Yandex Maps应用程序(如果已安装),但我没有找到有关应用程序处理的URLSchemes的文档:
NSURL *url = [NSURL URLWithString:@"yandexmaps://maps.yandex.ru/"];
if([[UIApplication sharedApplication] canOpenURL:url]){
[[UIApplication sharedApplication] openURL:url];
}
答案 0 :(得分:4)
还有另一个Yandex制图应用程序Yandex.Navigator,做支持指示。如果您可以接受这样的解决方案,那么您可以使用类似这样的方案:
yandexnavi://build_route_on_map?lat_from=55.751802&lon_from=37.586684&lat_to=55.758192&lon_to=37.642817
访问here了解详情。
答案 1 :(得分:4)
实际上,截至今天这是误导性的,有一个URL方案来获取方向。
yandexmaps:// build_route_on_map / PARAMS
示例:
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"yandexmaps://build_route_on_map/?lat_from=59.967870&lon_from=30.242658&lat_to=59.898495&lon_to=30.299559"]];
lat_from和lon_from是可选的,当未提供当前位置时使用。 别忘了检查是否安装了yandex.maps应用程序
NSURL *callUrl = [NSURL URLWithString:@"yandexmaps://"];
if ([[UIApplication sharedApplication] canOpenURL:callUrl])
{
//Yandex.Maps app is installed
}
Documentation(俄文)
答案 2 :(得分:2)
这不是特定于iOS的,但我希望它可以帮助寻找Yandex路线网址的人,因为我花了太长时间才找到它。因此,对于我使用此网页应用
https://yandex.ru/maps?rtext=FROM~TO&rtt=auto
其中FROM或TO是可选的,以及rtt
参数。所以你可以使用
https://yandex.ru/maps?rtext=~Berlin
引导某人到柏林的任何地方。
将支持Google地图支持的网络应用移植到Yandex我正在寻找Google地图广告链接https://www.google.com/maps/dir/FROM/TO
的等效链接,最后在SO上找到了此链接。来自@NKorotkov的文档链接回答了我:https://tech.yandex.ru/yandex-apps-launch/maps/doc/concepts/yandexmaps-ios-app-docpage/#buildroute
答案 3 :(得分:1)
这有效:"yandexnavi://build_route_on_map?lat_to=" + latvalu + "&lon_to=" + longvalue
答案 4 :(得分:1)
快速5
如果您需要打开Yandex Navi,则可以这样使用;
1-您应该像这样将'yandexnavi'添加到info.plist中;
<key>LSApplicationQueriesSchemes</key>
<array>
<string>yandexnavi</string>
</array>
2-您应检查该应用程序是否已安装;
UIApplication.shared.canOpenURL(URL(string: "yandexnavi://")!)
3-您应该使用lat&long;打开Yandex Navi;
let url = URL(string: "yandexnavi://build_route_on_map?lat_to=" + "\(lat)" + "&lon_to=" + "\(long)")
UIApplication.shared.open(url, options: [:], completionHandler: nil)
答案 5 :(得分:0)
尝试:
yandexmaps://maps.yandex.ru/
您可以添加
等参数yandexmaps://maps.yandex.ru/ LL = 37.5959049,55.7390474&安培; Z = 12 ll - &gt;将在屏幕上显示的地理中心 Z-&GT;是缩放值
更多信息在这里,但它是俄语:http://clubs.ya.ru/mobilemaps/replies.xml?item_no=53530
<强>更新强> 根据网站:
不幸的是,适用于iOS的Yandex地图应用程序不支持导航 通过URL方案
答案 6 :(得分:0)
open
答案 7 :(得分:0)
您可以从Intents and URL Schemes部分中以俄语查看技术文档
您将看到yandex地图,navi和Metro应用程序的所有url方案。
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"yandexmaps://"]]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"yandexmaps://maps.yandex.ru/?ll=37.62,55.75&z=12"]];
} else {
// Открываем страницу приложения Яндекс.Карты в App Store.
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"https://itunes.apple.com/ru/app/yandex.maps/id313877526?mt=8"]];
}
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"yandexnavi://"]]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"yandexnavi://"]];
} else {
// Открывает страницу приложения Яндекс.Навигатор в App Store.
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"https://itunes.apple.com/ru/app/yandex.navigator/id474500851"]];
}
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"yandexmetro://"]])
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"yandexmetro://?alias=moscow"]];
}
else
{
// Открываем страницу приложения Яндекс.Метро в App Store.
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"https://itunes.apple.com/ru/app/yandex.maps/id313877526?mt=8"]];
}