2016-08-26 29 views
0

私は指示のためのGoogleマップのナビゲーションページを表示したいと思います。 そうするために、私は反応ネイティブ(アンドロイド)でwebviewの内側にGoogleマップのURLを開いています。ここに私のcod eがあります:反応するネイティブwebviewでGoogleマップを開くことができません

<WebView 
    source={{uri: 'http://maps.google.com/mapsdaddr=28.69875679999999,77.29257710000002'}} 
    style={{height : 400, width : 320}} 
    /> 

これは空白です。私はそれがhttpsの問題かもしれないと思ったが、そうではない。私は "https://www.amazon.com/"を試してみましたが、同様に他のウェブリンクも同様にうまくいきました。どんな助けもありがとうございます。

+0

私はURLをコピーして移動しようとしました。レスポンスは404でした。リファラーまたはヘッダパラメータを追加する必要があるかもしれません。 – Tugrul

答えて

2

あなたがウェブビューでGoogleマップを開くことができません。この問題がネイティブアプリやすべてのアンドロイドアプリに反応するだけであるかどうかはわかりませんが、ウェブビューでgoogle.comを開いて地図をクリックしても、空のページが表示されます。反応ネイティブのLinkingを使用してネイティブのGoogleマップアプリを開くか、google mas APIを使用してビュー内のマップを開くことができます。

0

URLは、代わりにこのURLをしようとする場合があります404を返します。 http://maps.google.com/maps/place/28.69875679999999,77.29257710000002

+0

このURLを試してください: "https://www.google.com/maps?daddr=28.69875679999997,77.29257710000002" –

3

私は、WebviewがGoogleマップの指示を開くための正しい選択ではないことに気付きました。だから私はリンク反応ネイティブのApiを使用しました。ここでは、コードスニペットです:

私は私のマップを開く必要があり、そこからのリンク、

<TouchableOpacity onPress={() => {self.startNavigation('geo:37.484847,-122.148386')}}> 
     <View> 
      <Text style={styles.link}>START NAVIGATION</Text> 
     </View> 
</TouchableOpacity> 

上記のリンクをクリックするだけでは、「startNavigation」メソッドが呼び出されます。

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

これは私の携帯電話でGoogleマップアンドロイドアプリを開いた。

関連する問題