2010-11-22 6 views
0
    String s="..<td colspan=2 style='border-bottom: solid 1px #efefef; width:100%'>" + 
        "<iframe width=\"100%\" height=\"150\" frameborder=\"0\" style=\"border: solid 1px #dedede; padding:2px;\" scrolling=\"no\" " + 
        "src=\"http://maps.google.com/maps?f=q&source=s_q&hl=hu&geocode=&" + 
        "q="+address+"&ie=UTF8&hq=&hnear="+address+"&z=14&output=embed\"></iframe>"+ 
        "</td>" + 
        "</tr>..."; 

webview.loadDataWithBaseURL (null, s, "text/html", "utf-8", "about:blank"); 

これは機能しません...「読み込み」とログインウィンドウが表示されます。どうして?通常のブラウザではこれが動作します。Androidはマップアドレスをwebview(iframe)に追加します

答えて

2

ここにはいくつかの項目があります。まず、明示的に有効にしないと、WebViewsでJavascriptが無効になります。 WebSettingsのsetJavascriptEnabledメソッドを参照してください。また、loadDataWithBaseUrlは、基本URLがnullまたは "data://"で始まる場合に、スクリプトが外部リソースを取得しないようにすることを含め、セキュリティ動作の束を判断するために最初の引数を使用します(そのメソッドのthe docsを参照)。最初の引数の先頭に「http://」が付いているURLを使用してみて、それが役立つかどうかを確認し、アプリのマニフェストにINTERNET権限があることを確認してください。

しかし、その前に...どうしてもMapViewを使用してみませんか?ネイティブの地図コントロールを使用するだけで、javascriptのGoogle Maps URLをIFrameするのはばかげているようです。

+0

私はmapviewを知っていますが、私はこの場合に必要です、あなたに感謝! setJavascriptEnabledは私の問題を解決しました。 – lacas

関連する問題