KML文件没有覆盖在wordpress网站的谷歌地图上

时间:2013-09-25 10:03:10

标签: javascript wordpress google-maps kml

所以,我正在整理一个插件,显示谷歌地图和一些标记,客户希望地图也显示时区。我有一个有效的KML file,用于显示上传到Google云端硬盘并从那里查看的时区,但它不会显示在我网站的地图上。我用来显示地图的javascript是

var map;
var mapOptions = {
    zoom: 1,
    //styles: style,
    draggable: false,
    zoomControl: false,
    scrollwheel: false,
    disableDoubleClickZoom: true,
    center: new google.maps.LatLng(30, 0),
    MapTypeId: google.maps.MapTypeId.ROADMAP,
    disableDefaultUI: true
};

map = new google.maps.Map(document.getElementById('map-canvas'),mapOptions);

var timeZones = new google.maps.KmlLayer( {
    //url: php_data.mapKML, //DOESN'T WORK
    //url: 'https://docs.google.com/file/d/0B45QP71QXoR0TnVxTWtUb2piVUk/edit?usp=sharing', //DOESN'T WORK
    //url: 'http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml', //WORKS
    map: map
});

我已经尝试了所有三个已注释掉的网址,只有gmaps-samples子网站上托管的网址才有效。 php_data.mapKML是我理想使用的。 php_data['mapKML']使用wp_localize_script从wordpress传递,并包含KML文件的有效网址。但即使谷歌文档上的文件链接似乎也不起作用。但这不是文件的问题,因为直接从谷歌驱动器查看时显示正常。

我认为这可能是一个访问问题,因为我在处理插件时本地托管了网站,但谷歌托管的kml文件工作正常。

我很难过。也许其他人可以对此有所了解。

1 个答案:

答案 0 :(得分:0)

当您说“我在处理插件时本地托管该网站”时,这是否意味着该网站不在外部?如果是这种情况,则无法使用,因为KML需要可供Google服务器访问,而不是浏览器。