Ell*_*eny 8 javascript google-maps
2015年2月17日,Google Maps API 3.19版成为默认地图"发布"(请参阅https://code.google.com/p/gmaps-api-issues/wiki/JavascriptMapsAPIv3Changelog).在使用怪癖模式时,该版本似乎在Internet Explorer中引起问题,正如我从受此问题影响的应用程序生成的以下测试页所证明的那样(因此这可能包含的代码多于此处所需的代码):
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Google Maps Test Page</title>
</head>
<body style="margin:0; padding:0">
<!-- Adding ?v=3.18 onto the end of this URL will 'fix' the problem -->
<script src='http://maps.googleapis.com/maps/api/js' type='text/javascript'></script>
<script type='text/javascript'>
function initialize() {
top.google.maps.visualRefresh=true;
var mapOptions = {
zoom: 13,
center: new google.maps.LatLng(51.5072, 0.1275),
mapTypeId: google.maps.MapTypeId.ROADMAP,
scaleControl: true,
overviewMapControl: true
};
this._map = new google.maps.Map(document.getElementById('myMap'), mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<div id="myMap" style="width:500px;height:500px;position:relative;"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Firefox和Chrome都会正确显示可用的地图,而IE会在Google地图代码中引发错误,该错误显示"无法获取显示属性".无效的论点.' 我已经尝试调试代码,但它被混淆了,这使它成为一个痛苦的挑战.
强制版本回到最后一个"冻结"版本(3.18)暂时解决了问题,但这只是一个临时解决方案.
任何人都可以提出一个解决方案,而不是向谷歌报告,并希望他们解决它?
附加说明:
在我写信时,我注意到这里的信息https://code.google.com/p/gmaps-api-issues/wiki/JavascriptMapsAPIv3Changelog说这些版本是:
Experimental: 3.20
Release: 3.19
Frozen: 3.18
Run Code Online (Sandbox Code Playgroud)
版本3.17将被删除.3.17或任何先前版本的请求现在将提供3.18版本的版本
虽然此页面https://developers.google.com/maps/documentation/javascript/basics#Versioning说(位于页面底部):
Version 3.18 Reference (Release)
Version 3.19 Reference (Experimental)
Version 3.17 Reference (Frozen)
Versions 3.0 - 3.16 have been retired.
Run Code Online (Sandbox Code Playgroud)
这是相当令人困惑的,但我认为Changelog链接是更新的信息来源.这种差异让我困惑,所以我认为值得分享观察.
更新20-Feb-15:
昨天谷歌证实这是一个错误 - 请参阅https://code.google.com/p/gmaps-api-issues/issues/detail?id=7675 - 并建议"我们正在寻找解决方案."
感谢您的意见和建议,但到目前为止,我还没有找到一个可以使我的应用程序完全工作的工作,因为其他页面组件依赖于怪癖模式,创建了大量工作以使整个工作再次工作.我希望谷歌的注意力能为我解决这个问题.
更新21日至2月15日:
https://code.google.com/p/gmaps-api-issues/issues/detail?id=7675现在表示"将在未来一周部署修复程序".
ajg*_*ajg 10
今天在我刚刚继承的网络应用程序中找到了同样的问题.由于某些原因,以前的开发人员迫使IE进入怪癖(ie7)模式,谷歌api问题今天开始.我通过更改html head部分更新了主html页面以使用IE边缘模式
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=7" />
.....
Run Code Online (Sandbox Code Playgroud)
至
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
.....
Run Code Online (Sandbox Code Playgroud)
(如果你错过它,添加ie-edge meta ...行)
到目前为止它已经修好了.
现在找出为什么以前的开发人员强迫IE7模式....
我很高兴地说,谷歌以非常积极的方式回应了这个问题;他们很快将其归类为错误,并建议他们正在解决它,今天我再次进行测试,发现“怪癖”问题不再存在,我的应用程序再次正常运行。
我问的问题是“除了向 Google 报告此问题并希望他们解决之外,还有人可以建议解决方案吗?”。我看到这个问题的应用程序(显然)严重依赖于怪异模式,因此当我尝试删除该依赖项时,我看到页面上其他组件存在许多问题 - 即问题变得更大。因此,谷歌解决这个问题确实是唯一真正对我有用的答案,我很高兴他们做到了。
感谢大家的帮助和贡献。