2017-04-04 7 views
4

反応のネイティブアプリケーションでGoogleマップやマップを開こうとしていますが、私のiPhone /シミュレータでアプリケーションを実行すると「開けないURI:... " 私は間違っていますか?反応したネイティブの地図/ Googleマップを開く

マイコード:

openGps() { 
    var url = 'geo:37.484847,-122.148386' 
    this.openExternalApp(url) 
} 

openExternalApp(url) { 
    Linking.canOpenURL(url).then(supported => { 
    if (supported) { 
     Linking.openURL(url); 
    } else { 
     console.log('Don\'t know how to open URI: ' + url); 
    } 
    }); 
} 

答えて

4

this SO answerで述べたようにiOSのは、まだ、まだgeo:をサポートしていないためです。異なっアンドロイド

  • ハンドルiOSの

    • 使用geo::何ができることはOSを検出しています。可能であれば、maps:を使用してください。アップルマップが正しく表示されますが、座標を正しく送信する方法は不明です。または、それをgoogle maps http URLに追加し、ブラウザで開きます。

    exampleについては、お使いのopenGps関数は次のようになります。

    openGps =() => { 
        var scheme = Platform.OS === 'ios' ? 'maps:' : 'geo:' 
        var url = scheme + '37.484847,-122.148386' 
        this.openExternalApp(url) 
    } 
    
  • +1

    あなたはまた 'HTTPを使用することができます.apple.com /?ll = 'またはhttp://maps.apple.com/?daddr= ,'ナビゲーションを開始する。 –

    4

    は、カスタムラベルiosでURLを開く/アンドロイド://マップ:

    const scheme = Platform.OS === 'ios' ? 'maps:0,0?q=' : 'geo:0,0?q=:'; 
    const latLng = `${lat},${lng}`; 
    const label = 'Custom Label'; 
    const url = Platform.OS === 'ios' ? `${scheme}${label}@${latLng}` : `${scheme}${latLng}(${label})`; 
    
    Linking.openURL(url); 
    
    関連する問題