Javascript 无法将KML文件渲染到google地图
我的谷歌地图代码Javascript 无法将KML文件渲染到google地图,javascript,google-maps,kml,geoxml3,Javascript,Google Maps,Kml,Geoxml3,我的谷歌地图代码 var myOptions = { center: {lat: 55.864237, lng: -4.251806}, zoom: 16, mapTypeId: google.maps.MapTypeId.SATELLITE }; var map1 = new google.maps.Map(document.getElementById("map"), myOptions); var geoXml = new geoXML3.parser({
var myOptions = {
center: {lat: 55.864237, lng: -4.251806},
zoom: 16,
mapTypeId: google.maps.MapTypeId.SATELLITE
};
var map1 = new google.maps.Map(document.getElementById("map"), myOptions);
var geoXml = new geoXML3.parser({
map: map1
});
var source = 'https://developers.google.com/kml/documentation/KML_Samples.kml';
geoXml.parse(source);
我得到的错误如下:
加载失败:请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”
XML解析错误
无法检索
有人知道我如何解决这个问题吗 使用浏览器的XmlHttpRequest对象,该对象受。您无法访问https://developers.google.com
fromhttp://localhost:8080
(不同的来源)
要使用GeoXml3,请将该文件复制到服务器并通过相对URL访问它,或者通过http://localhost:8080
另一种选择是使用Google Maps Javascript API v3,它从Google的服务器访问KML,不受同一来源政策的约束。尝试下载KML文件并将其本地加载到您的页面中。您收到的错误是由于安全限制造成的,google阻止您加载驻留在其服务器上的资源。事实上,我一开始试过KML层,在下面的问题中遇到了麻烦。1.我已经在dropbox上上传了我的kml文件。我成功地在谷歌地图中呈现了kml文件。但颜色模式和不同颜色的多边形并没有显示在地图中。它只是显示多段线。当我把这个文件上传到在线KML查看器时,我知道了这个问题。我的kml链接-这就是为什么我用另一种方式尝试。kml不是“我的”,它来自谷歌(在OP的问题中)。示例中的多边形用颜色填充。请仔细查看样式定义。