我尝试使用 CHtmlView::Navigate2 方法浏览本地网页(这是一个简单的 google-maps 示例 html),将 map 嵌入到我的桌面应用程序中。 html文件源码如下。
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta name="viewport" content="initial-scale=1.0">
<meta charset="utf-8">
<style>
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#map {
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8
});
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?callback=initMap"
async defer></script>
</body>
</html>
带有 google-maps JavaScript API 简单 map 示例的 html 文件可以在 Internet Explorer 中正确显示,但在我的 CHtmlView 窗口中仅显示具有有效缩放控制的白色 map 。 我观察到,如果在我的测试应用程序中快速放大/缩小 map ,有时 map 会显示然后立即消失。
最佳答案
经过一整天的挖掘这个问题......
最后我发现根本原因可能是应用于嵌入 MS Web 浏览器控件的 IE 版本。
首先我从Google Map API official community support channel抓到了相关信息.
停止支持 Internet Explorer 8
我们谨通知您,我们计划于 2015 年 8 月 31 日左右停止对 Internet Explorer 8 (IE8) 对 Google Maps JavaScript API v3 的支持。
然后我用谷歌搜索到一个相关页面,其中提到了如何指定 MS Web 浏览器控件的 IE 版本。( Rick Strahl's Web Blog )
最终,我通过应用上面链接中的注册表黑客解决了我的问题^^
希望这次挖掘之旅对遇到同样问题的人有所帮助,祝你好运。
关于javascript - 谷歌地图 div 区域中仅显示带有缩放控制的白色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33098335/