尝试使用Javascript在IE9中的地图中加载GeoJson数据时出现以下错误
Object doesn't support this property or method
我的方法调用如下所示
myMap.data.loadGeoJson('https://storage.googleapis.com/maps-devrel/google.json');
我认为它与.data调用有关,因为它发生的唯一行是包含.data的行。 “myMap”变量已初始化并设置为谷歌地图,并且一切正常,只是当我尝试加载它破坏的geojson时。
有谁知道为什么它会在IE9中破解?
我还使用谷歌演示页面附上了Browserstack对类似错误的一个镜头......
更新:我直接与谷歌开发人员交谈,这似乎是目前IE9的一个错误(我也相信8),加载geojson不起作用。如果有人确实找到了解决方法,那将非常感激。即使只是确切知道它为什么会破裂也会很好......
答案 0 :(得分:1)
我在IE上遇到了同样的问题。
试试这个:
打开IE,打开"工具",点击"兼容性视图设置"然后取消选中"在兼容性视图设置"中禁用Intranet站点然后尝试打开你的页面。
这对我有用。
答案 1 :(得分:0)
示例代码从不同的服务器(跨域)加载GeoJSON。
问题是.loadGeoJson()正在使用XMLHttpRequest来加载数据,而在IE8和IE9上,这并不是跨域工作。
这是"访问被拒绝"您可以在控制台中看到错误。
尝试将GeoJSON放在同一台服务器上。
或者,如果您确实需要加载GeoJSON跨域并支持IE9,请使用ajax库和.addGeoJson()方法。使用jQuery看起来像这样:
$.ajax({
url: myURL,
dataType: 'json',
success: function(geojson) {
myMap.data.addGeoJson(geojson);
}
// Other options to configure for jsonp, etc.
});