Изменить 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');");
}
Кстати, ваша ссылка не показывает карту...