0

アプリから Apple Maps アプリケーションを開いて、現在の場所から目印までのルートを計算できます。問題なく動作します。

しかし、現在、特定の順序でいくつかの目印のリストがあり、それらを地図アプリケーションに送信して、最初の目印から最後の目印までのルートに沿ったターゲットとして使用したいと考えています。これは可能ですか?

別の方法として、Safari で Google マップを起動して、URL に複数のターゲットを設定することもできます: https://maps.google.com/maps?saddr=first&daddr=second&daddr=third+to:final&hl=en

4

2 に答える 2

1

私は以下のコードを使用し、数か月間は正常に動作しましたが、Google マップの新しいオンライン バージョンは、このように要求された複数のターゲットをサポートしなくなりました。

したがって、次のように URL を調整する必要があります: https://www.google.com/maps/dir/longitude,latitude/longitude,latitude

ここでは、URL 検索に関する詳細情報を見つけることができます: http://gearside.com/easily-link-to-locations-and-directions-using-the-new-google-maps/

于 2014-12-09T22:55:56.920 に答える
0

私の現在の解決策は、リンクを使用してサファリで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 で開く方法を知っている人はいますか?

于 2013-04-21T18:54:05.157 に答える