在.net windows应用程序中修改html文件



我有一个map.html文件,其中包含谷歌地图api v3的脚本,我之前一直在尝试使用webbrowser1.DocumentText和Webbrower1.Document.InvokeScript运行此脚本,但未成功。

这次我在一个网站上托管了map.html,我的目标是能够修改这个html文件,然后在我的windows应用程序上运行它,以便显示所需的地址。

以下是托管在ex上的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中,它应该显示佛罗里达州迈阿密海滩的

现在在我的windows应用程序上,我想编辑这个托管在网站上的html,我想把佛罗里达州的迈阿密海滩改为佛罗里达州的那不勒斯。

然后在我的windows应用程序上使用Web浏览器,并将其显示为Webbrowser1。导航("http://url.com/map.html")

非常感谢你的帮助。

当html保存在我的计算机上时,我确实找到了如何修改它,但对于我真正需要的东西来说,这不是一种可行的方法。

谢谢你,

Leo p.

我不会尝试修改html代码。由于谷歌地图的代码都是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');");
}

顺便说一句,你的链接没有显示地图。。。

最新更新