iPhoneアプリで地図アプリケーションに取り組んでいます。
ボタンがありますgo
。
ユーザーがこの方法でこのボタンをクリックしたときに、ユーザーがwaze
自分のiPhoneにアプリケーションをインストールしたかどうかを確認したいと思います。はいの場合はwazeアプリケーションに移動し、そうでない場合はiPhoneのデフォルトのマップアプリを開きます。
iPhoneアプリで地図アプリケーションに取り組んでいます。
ボタンがありますgo
。
ユーザーがこの方法でこのボタンをクリックしたときに、ユーザーがwaze
自分のiPhoneにアプリケーションをインストールしたかどうかを確認したいと思います。はいの場合はwazeアプリケーションに移動し、そうでない場合はiPhoneのデフォルトのマップアプリを開きます。
このようにしてみてください:
NSString *wazeAppURL = @"waze://";
NSString *mapsAppURL = @"maps://";
BOOL canOpenURL = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:wazeAppURL]];
NSString *url = canOpenURL ? wazeAppURL : mapsAppURL;
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
ここでcanOpenURL
は、WazeアプリがiPhoneにインストールされているかどうかをテストできます。iPhoneがURLを開くことができる場合、waze://
それはあなたがすでにアプリを持っていることを意味し、それはそれを起動します。それ以外の場合は、デフォルトのマップアプリを起動します。Safariは呼び出されません。
アプリを開くには、電話する必要があります
BOOL canOpenURL = [[UIApplication sharedApplication]
canOpenURL:[NSURL URLWithString:@"app://"]];
if ( canOpenUrl ) [[UIApplication sharedApplication]
openURL:[NSURL URLWithString:url]];
すべてのURLを見つけるには、次のページにアクセスしてください:http: //handleopenurl.com/
特にWazeについては、 http: //handleopenurl.com/scheme/waze
お役に立てれば。
iOSでは、Googleマップに移動して、クエリ文字列またはジオポイントを渡すこともできます。特定のジオポイントに移動する1つの例を次に示します。
if (self.mapView.userLocation.location) {
NSString *urlAsString = [NSString stringWithFormat:@"comgooglemaps://?q=%f,%f", self.mapView.userLocation.location.coordinate.latitude, self.mapView.userLocation.location.coordinate.longitude];
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:urlAsString]]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlAsString]];
}
}
ユーザーエクスペリエンスを向上させるための単なる提案。