2016-09-27 14 views
0

私はC#WPFプログラムのWebBrowserControlにGoogle Mapsを統合しようとしています。地図はコントロール内にロードされ、正しい緯度と経度を中心に表示されますが、いくつかのエラーがあります。まず地図が読み込まれ、数秒後にエラーボックスが表示されます。Javascript関数を追加してGoogle Mapsを読み込むC#WPF

enter image description here

私は緯度と経度の位置にマーカーを追加しようとしていたときに第二に、私も、すべてのマップがロードされる前にエラーが発生します。ここまでは私のコードです。

mapWebBrowser.NavigateToString(@"<html xmlns=""http://www.w3.org/1999/xhtml"" xmlns:v=""urn:schemas-microsoft-com:vml""> 
           <head> 
           <meta http - equiv = ""X-UA-Compatible"" content = ""IE=edge""/> 
           <meta name = ""viewport"" content = ""initial-scale=1.0, user-scalable=no""/> 
           <script type = ""text/javascript"" 
           src = ""http://maps.google.com.mx/maps/api/js?sensor=true&language=""es"" ></script> 
           <script src = 'http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/src/markerclusterer.js'> 
           </script><script type = ""text/javascript""> 
            function initialize() { 
             var latlng = new google.maps.LatLng(" + latitude + ", " + longitude + @"); 
             var myOptions = { 
              zoom: 16, 
              center: latlng, 
              mapTypeId: google.maps.MapTypeId.ROADMAP 
             }; 
             var map = new google.maps.Map(document.getElementById(""map_canvas""), myOptions); 
            } 
            function addMarker(Lat, Long) { 
             var latLng = new google.maps.LatLng(Lat, Long);    
             marker = new google.maps.Marker({ 
              position: latLng, 
              draggable: false, 
              animation: google.maps.Animation.DROP, 
             }); 
             markers.push(marker); 
             var markerCluster = new MarkerClusterer(map, markers) 
            } 
           </script> 
           </head> 
           <body onload = ""initialize()"" > 
            <div id=""map_canvas"" style=""width:100%; height:100%""></div> 
           </body> 
           </html>"); 

これはマップにマーカーを追加するために使用しようとしている機能です。

function addMarker(Lat, Long) { 
     var latLng = new google.maps.LatLng(Lat, Long);    
     marker = new google.maps.Marker({ 
        position: latLng, 
        draggable: false, 
        animation: google.maps.Animation.DROP, 
     }); 
     markers.push(marker); 
     var markerCluster = new MarkerClusterer(map, markers) 
} 

私はC#で呼びます。残念ながら

mapWebBrowser.InvokeScript("addMarker", new object[] { latitude, longitude });

私は両方の方法が問題を引き起こしている前に述べたように。

+0

"