所以,我正在组合一个插件,显示谷歌地图和一些标记,客户希望地图也显示时区。我有一个有效的KML 文件,显示上传到谷歌驱动器并从那里查看时的时区,但它不会显示在我网站的地图上。我用来显示地图的 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']
从 wordpress 使用wp_localize_script
并包含到 KML 文件的有效 url 传递。但即使是谷歌文档上的文件链接似乎也不起作用。但这不是文件的问题,因为直接从谷歌驱动器查看时它显示得很好。
我认为这可能是一个访问问题,因为在我处理插件时该站点是在本地托管的,但是谷歌托管的 kml 文件可以正常工作。
我难住了。也许其他人可以对此有所了解。