我在一个运行JScript前端的旧内容管理系统中运行了一个google地图,调用PHP来满足请求。虽然在V3之后,Google Maps API现在可以生成TypeError window.Image is not a function
,但一切都运行得很好。
以下跟踪来自Google Chrome浏览器
Uncaught TypeError: window.Image is not a function
k3 @ stats.js:2
Uncaught TypeError: window.Image is not a function
vB @ util.js:9
这是用于加载地图的JScript
setMap: function(){
this._map = new google.maps.Map(this._panel.mapcanvas, {
zoom: 16,
center: this._latlng
});
},
地图需要很长时间才能加载,不会缩放,不会显示控件。地图以缩放级别16初始化,并以提供的_latlng
为中心。
如果我向地图选项添加任何其他控件,它们不会显示,也不会对地图进行任何更改。
window.Image
问题在初始加载时也会出现。
rg @ js?key=YOURAPIKEY&callback=initMap:84
发布于 2015-12-21 07:57:58
我猜一下:在页面上的某个地方会创建一个名为Image
的全局变量(它不是一个函数)。
此变量覆盖内置函数Image()
( maps-API尝试调用此函数)
演示:
Image='something';
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8
};
var map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
html ,body,#map-canvas { height: 100%; margin: 0; padding: 0 ;}
<div id="map-canvas"></div><script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?v=3">
</script>
解决方案:删除此变量的创建(例如,使用其他名称),不应使用与window-object内置属性的名称相同的全局变量名称
https://stackoverflow.com/questions/34380727
复制相似问题