Изменить HTML-файл в приложении.net Windows

У меня есть файл map.html, который содержит скрипт для Google Maps API v3. Ранее я пытался запустить этот скрипт, используя webbrowser1.DocumentText и Webbrower1.Document.InvokeScript, но безуспешно.

На этот раз у меня есть 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, он должен отобразить Miami Beach, FL

Теперь в моем приложении для Windows я хочу изменить этот HTML-код, размещенный на веб-сайте. Я хочу изменить Майами-Бич, штат Флорида, на пример, Неаполь, штат Флорида.

затем используйте веб-браузер в моем приложении для Windows и отобразите его как Webbrowser1.Navigate("http://url.com/map.html")

Ваша помощь очень ценится.

Я нашел, как изменить HTML, когда он сохраняется локально на моем компьютере, но для того, что мне именно нужно, это нереальный способ.

благодарю вас,

Лео П.

1 ответ

Я бы не пытался изменить HTML-код. Поскольку код Google Maps - это все 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');");
}

Кстати, ваша ссылка не показывает карту...