私の現在の解決策は、リンクを使用してサファリでGoogleマップを開くことです。ここで、間に+to:ターゲットを追加します:
for (int i == 0; int i < route.count; i++) {
if (i == 0) {
NSString *start = [NSString stringWithFormat:@"http://maps.google.com/maps?saddr=%f,%f", latitude, longitude];
locationString = start;
}
if (i != 0 && i != route.count - 1) {
NSString *between = [NSString stringWithFormat:@"+to:%f,%f", latitude, longitude];
locationString = [locationString stringByAppendingString:between];
}
if (i == route.count - 1) {
NSString *end = [NSString stringWithFormat:@"&daddr=%f,%f", latitude, longitude];
NSString *type = @"&dirflg=w";
locationString = [locationString stringByAppendingString:end];
locationString = [locationString stringByAppendingString:type];
}
}
NSURL *url = [NSURL URLWithString:locationString];
[[UIApplication sharedApplication] openURL:url];
モバイル版 maps.google.com の Safari でリンクを開く iOS 5 または 6 sSimulator を使用している場合、これは正常に機能します。
しかし、iOS 5 デバイス、およびおそらく Google マップがインストールされた iOS6 デバイスで実行すると、Google マップでリンクが開始され、ルートが間違って描画され (特に多くのターゲットがある場合)、その間のターゲットに注釈がありません...
リンクを強制的に Safari で開く方法を知っている人はいますか?