2016-05-30 6 views
2

WinFormsWebControlの有効なレンダリングGoogleマップに関するもう1つの質問です。Winforms、WebControl、Google Maps、無効なレンダリング

問題には2つの解決策、そのうちの一つは、特定のレジストリキー(See this article)を追加することであり、もう一つは、(あなたが表示されたページのHTMLを所有している場合)<meta http-equiv="X-UA-Compatible" content="IE=edge">を使用することです(See this article)があります。

google-mapshtmlをホストし、独自のサーバーでスクリプトファイルを作成しているので、htmlファイルを変更できます。だから我々は試みたが、WebControlはhtmlファイルをまったく表示しない(灰色のスペースが表示される)。一方、IEは正常に動作します。

たちは

IE 11をインストールした上でテストしたワークステーションは、以下当社htmlファイルです。私たちは間違ったことをしましたか?誰でも同じような動作が発生しましたか?これを解決するには?

<?xml version="1.0" encoding="UTF-8" ?> 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml"> 
<head> 
    <meta http-equiv="X-UA-Compatible" content="IE=8"/> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <meta name="robots" content="noindex" /> 
    <title>Mapa</title> 
    <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?v=3.22&libraries=geometry&sensor=false"></script> 
    <!-- multiple javascript files --> 
    <script type="text/javascript"> 
     var map; 
     var panorama; 

     function initialize() { 
      var myOptions = { 
       zoom: 6, 
       center: new google.maps.LatLng(0.0, 0.0), 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
      }; 
      map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
      panorama = map.getStreetView(); 
      /* some init functions */ 
     } 

    </script> 
</head> 
<body style="margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;" onload="initialize()"> 
    <div id="map_canvas" style="width: 100%; height: 100%"> 
    </div> 
</body> 
</html> 
<!-- multiple javascript files -->/* some init functions */のため申し訳ありません

が、私はこれらの部品を切り出しました。これらは、<script type="text/javascript" src="..."></script>行だけで、2番目の関数呼び出しは2つです。それらの2つの部分が本当に重要で、問題を解決するために導くなら、私はそれらを投稿しようとすることができます..何とか。

content="IE=edge"の部分、edge、または他のバージョン番号で使用している内容はすべて同じです。

以下は、X-UA-Compatibleを使用した場合のWebControlの画面です。 (Obiviously赤いテキストがツールをつむに作られ;) )

enter image description here

+0

タグ。 – xomena

+0

レジストリを編集する必要はありません。メタタグを何に変更しますか?コンテンツの値を正確な結果に設定しようとしたものは、IEでは動作しますが、WebControlでは動作しません。 – user2475983

+0

レジストリ値を変更しないと、WebBrowserコントロールの既定値はIE7またはIE8の古いバージョンになります。これらのバージョンは、Google Maps JavaScript APIではサポートされていません。一般公開のトラッカーでの議論を見てください。https://code.google.com/p/gmaps-api-issues/issues/detail?id=9004 – xomena

答えて

0

私は別のブラウザコンポーネントを作成したチームと連携 - DotNetBrowser

このコンポーネントは、Chromiumエンジンに基づいており、問題なくGoogleマップをレンダリングする必要があるため、このコンポーネントは参考になると思います。 ` ` あなたは、レジストリを編集してメタを変更する必要があります:あなたはIE8モードでレンダリングされるページを強制

関連する問題