12

Destination と Source の 2 つの変数があり、Phonegap を使用して、jQuery を使用して外部の iPhone Apple Maps アプリを開いて道順を表示しようとしています。

私が使用しているコードは次のようになります。

var url = 'http://maps.apple.com/?q=daddr='+destination+'&saddr='+source;
window.location = url;

ただし、関連するボタンをクリックすると、アプリ内に新しいビューが開き、Google のルートが Web ビューとして表示され、元のアプリに戻ることができません。

代わりに、iOS のデフォルトのマップ アプリケーションでリンクを開くにはどうすればよいですか?

4

4 に答える 4

25

に変更http://maps.apple.com/?q=するだけでmaps:うまくいきました。


注意:後者は正しいアプリを実行しますが、開いた直後にクラッシュするので、書いmaps:てはいけません(jprofittに感謝します)map:

于 2013-01-24T15:01:26.730 に答える
6

今日、次の URL スキームの両方を使用して、Cordova アプリからマーカー付きのネイティブ Apple Maps アプリを開くことができました。

maps://maps.apple.com/?q={latitude},{longitude}

maps://?q={latitude},{longitude}

リンクで:

<a href="maps://maps.apple.com?q={latitude},{longitude}">
<!-- OR -->
<a href="maps://?q={latitude},{longitude}">

JavaScript から:

window.location.href = "maps://maps.apple.com/?q="+lat+","+lng;
// OR
window.location.href = "maps://?q="+lat+","+lng;

このアプリは iOS デバイス (iOS バージョン 8.1.2) で実行されており、cordova-ios はバージョン 3.7.0 です。

于 2015-01-12T19:25:28.277 に答える
4

私の場合、問題を解決しないhttp://maps.apple.com/?q=だけに変更します。maps:?q=

マーカー付きのネイティブ Apple Maps を開く作業スキームは次のとおりです。

maps://maps.apple.com/?q={latitude},{longitude}

完全な作業コード:

window.location.href = "maps://maps.apple.com/?q="+lat+","+lng;

iOS7.1 シミュレーターでの動作をテスト済みですが、それ以降のバージョンでは動作しない可能性があります。テストする機会がありません。ごめん。

サポートされている Apple Maps パラメーターは、 https ://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/MapLinks/MapLinks.html にあります。

クレジットはこのSOリンクに行きます:ここ

于 2014-08-13T17:07:53.690 に答える
4

コード

iOSで次の形式を使用して、2018年にiOS 11.2でこれを機能させることができました。

<a onclick="window.open('maps://?q=51.178847,-1.826160', '_system');">Open in Maps</a>

Android では次の形式になります。

<a onclick="window.open('geo:0,0?q=51.178847,-1.826160', '_system');">Open in Maps</a>

設定権限

config.xmlさらに、次のようにファイルにアクセス許可を追加することを忘れないでください。

<allow-intent href="maps:*" />

私のプロジェクトではgeo:、最初からその意図があったため、これが iOS ではなく Android で機能する理由を理解するのにしばらく時間がかかりました。

于 2018-04-06T11:52:14.543 に答える