1

Google map api v3 용 스크립트가 포함 된 map.html 파일이 있습니다. 이전에 webbrowser1.DocumentText 및 Webbrower1.Document.InvokeScript를 사용하여이 스크립트를 실행하려고했습니다. 실패했습니다..net Windows 응용 프로그램의 html 파일을 수정하십시오.

이번에는 웹 사이트에서 map.html을 호스팅하고 있습니다. 내 목표는이 html 파일을 수정 한 다음 원하는 Windows 응용 프로그램에서 실행하여 원하는 주소를 표시하는 것입니다. 아래

이 전 호스팅되는 map.html의 코드입니다 : 지금 http://url.com/map.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<html> 
<head> 
<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 type="text/javascript"> 

    var geocoder; 
    var map; 


    function initialize() { 

     geocoder = new google.maps.Geocoder(); 
     //var latlng = new google.maps.LatLng(-34.397, 150.644); 
     var myOptions = { 
      zoom: 16, 
      //center: latlng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     } 

     //var address = document.getElementById("address").value; 
     var address = "Miami Beach, Flordia" //Address to modify in order to display 

     geocoder.geocode({ 'address': address }, function (results, status) { 
      if (status == google.maps.GeocoderStatus.OK) { 
       map.setCenter(results[0].geometry.location); 
       var marker = new google.maps.Marker({ 
        map: map, 
        position: results[0].geometry.location 
       }); 
      } else { 
       alert("Geocode was not successful for the following reason: " + status); 
      } 
     }); 

     map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
    } 


    </script> 
    </head> 
    <body onload="initialize()"> 
    <div id="map_canvas" style="width:100%; height:100%"></div> 

    </body> 
</html> 

복사하고 마이애미 비치를 표시해야 HTML에서이 코드를 붙여 넣으면, FL

내 windows 응용 프로그램 나는 웹 사이트에서 마이애미 비치, 플로리다 나폴리, 플로리다로 변경하려는 예를 들어 호스팅이 HTML을 편집하고 싶습니다.

는 내 Windows 응용 프로그램에서 웹 브라우저를 사용하고 당신의 도움이 매우 그것을 감사

Webbrowser1.Navigate ("http://url.com/map.html")로 표시합니다.

내 컴퓨터에 로컬로 저장할 때 html을 수정하는 방법을 찾았지만 실제로 필요한 것은 이것이 가능한 방법이 아닙니다.

레오 P.에게, 나는 HTML 코드를 수정하려고하지 않을

답변

0

을 주셔서 감사합니다. Google지도 코드는 모두 JS이므로지도를 새 위치로 이동시키는 JS 함수를 작성합니다. 해당 함수를 응용 프로그램에서 호출 할 수 있습니다 (또는 거기에서 삽입 할 수도 있습니다).

using mshtml; 

//First, navigate to your page: 
Webbrowser1.Navigate("http://url.com/map.html") 


void Webbrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
{ 
     //Then call your move function with the new target: 
     mshtml.IHTMLDocument2 doc = (mshtml.IHTMLDocument2)Webbrowser1.Document.DomDocument; 
     mshtml.IHTMLWindow2 window = (mshtml.IHTMLWindow2)doc.parentWindow; 
     window.execScript("yourMapMoveFunction('Naples,Florida');"); 
} 

은 BTW, 당신의 연결은

+0

누군가가 나를 내가 실제로 웹 브라우저에 전체 스크립트를 실행하려고 한 다른 게시물에이 문제를 해결 도움이 ...지도를 표시하지 않습니다. 그의 해결책은이 질문에도 적용됩니다. "http://stackoverflow.com/questions/11705729/net-windows-application-webbrowser-google-maps-api-v3"도움을 주셔서 대단히 감사드립니다! – TopoX