使用IE 11,Windows 8.1。在網頁瀏覽器控件中打印google地圖 - 不會顯示路線
我堵在下面爲Windows窗體應用程序:
var html = "<iframe width=\"425\" height=\"350\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" " +
"src=\"https://maps.google.com/maps?f=d&source=s_d&saddr=Oklahoma+City,+OK&daddr=texas&hl=en&" +
"geocode=FSgxHQIddAQw-imB0vh-VIqthzGdOk_RdBKiMw%3BFVfN5wEdi54L-ilJMoILNnBAhjE83ggYjxzrFg&aq=t&sll=39.632471," +
"-56.554076&sspn=61.466508,135.263672&mra=ls&ie=UTF8&t=m&z=7&output=embed\">" +
"</iframe>" +
"<br /><small><a href=\"https://maps.google.com/maps?f=d&source=embed&saddr=Oklahoma+City,+OK&daddr=texas" +
"&hl=en&geocode=FSgxHQIddAQw-imB0vh-VIqthzGdOk_RdBKiMw%3BFVfN5wEdi54L-ilJMoILNnBAhjE83ggYjxzrFg&aq=t&" +
"sll=39.632471,-56.554076&sspn=61.466508,135.263672&mra=ls&ie=UTF8&t=m&z=7\" style=\"color:#0000FF;" +
"text-align:left\">View Larger Map</a></small>";
webBrowser1.DocumentText = (html);
現在我需要打印所看到的,但它並不顯示方向線,當我到打印預覽
private void button1_Click(object sender, EventArgs e)
{
this.webBrowser1.ShowPrintPreviewDialog();
}
我已經嘗試了不同的瀏覽器模擬,但仍無法在Google地圖中打印方向線。 IE6 - 11沒有運氣。
SetBrowserFeatureControlKey("FEATURE_BROWSER_EMULATION", fileName, GetBrowserEmulationMode());
public static UInt32 GetBrowserEmulationMode()
{
int browserVersion = 7;
using (var ieKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer",
RegistryKeyPermissionCheck.ReadSubTree,
System.Security.AccessControl.RegistryRights.QueryValues))
{
var version = ieKey.GetValue("svcVersion");
if (null == version)
{
version = ieKey.GetValue("Version");
if (null == version)
throw new ApplicationException("Microsoft Internet Explorer is required!");
}
int.TryParse(version.ToString().Split('.')[0], out browserVersion);
}
// Internet Explorer 10. Webpages containing standards-based !DOCTYPE directives are displayed in IE10 Standards mode. Default value for Internet Explorer 10.
UInt32 mode = 11000;
switch (browserVersion)
{
case 7:
// Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode. Default value for applications hosting the WebBrowser Control.
mode = 7000;
break;
case 8:
// Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode. Default value for Internet Explorer 8
mode = 8000;
break;
case 9:
// Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode. Default value for Internet Explorer 9.
mode = 9000;
break;
case 10:
// Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode. Default value for Internet Explorer 9.
mode = 10000;
break;
default:
// use IE10 mode by default
break;
}
return mode;
}
任何人都可以幫我找出爲什麼這不會打印指示線嗎?請記住,直接將這個html插入.html文件並用IE打開,將顯示路線。但他們不打印。
更新
使用IE瀏覽器,你可以在下面與擴展HTML文檔插件。
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?f=d&source=s_d&saddr=Mesa,+AZ+85201&daddr=85258&hl=en&geocode=FXkl_gEduWFV-Sm5aealKggrhzGuOvW7FLWhww%3BFQ8xAAIdIJBU-SmHMd6RyworhzFB0o03Vh1_HQ&aq=t&sll=34.168218,-111.930907&sspn=16.819377,33.815918&mra=ls&ie=UTF8&t=m&ll=33.511629,-111.898842&spn=0.100189,0.145912&z=12&output=embed"></iframe><br /><small><a href="https://maps.google.com/maps?f=d&source=embed&saddr=Mesa,+AZ+85201&daddr=85258&hl=en&geocode=FXkl_gEduWFV-Sm5aealKggrhzGuOvW7FLWhww%3BFQ8xAAIdIJBU-SmHMd6RyworhzFB0o03Vh1_HQ&aq=t&sll=34.168218,-111.930907&sspn=16.819377,33.815918&mra=ls&ie=UTF8&t=m&ll=33.511629,-111.898842&spn=0.100189,0.145912&z=12" style="color:#0000FF;text-align:left">View Larger Map</a></small>
這將在firefox中正確打印所有內容。我已經在多臺打印機上進行了測試。
這在IE中不能正確打印。我曾嘗試以下:
https://support.google.com/maps/answer/21849?hl=en
如何得到的線條展現了任何想法?
我在我的應用程序中運行你的代碼,但沒關係,我使用了framework3.5,一個winform應用程序。 –
那麼,當你去打印預覽時,你看到了線條顯示? – Watson
它可能只是瀏覽器模擬問題,請嘗試設置FEATURE_BROWSER_EMULATION http://stackoverflow.com/questions/15874565/how-to-set-ie9-by-default-for-web-browser/15883250#15883250 – volody