2013-09-25 118 views
0

因此,我正在組合一個顯示谷歌地圖和一些標記的插件,客戶希望地圖也顯示時區。我有一個有效的KML file,顯示上傳到谷歌驅動器並從那裏查看時區的時區,但它不會顯示在我的網站上的地圖上。我使用的顯示地圖的JavaScript是KML文件不覆蓋谷歌地圖上的wordpress站點

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樣本的子域的作品。 php_data.mapKML是我理想的使用。 php_data['mapKML']使用wp_localize_script從wordpress傳遞,幷包含KML文件的有效網址。但即使鏈接到谷歌文件上的文件似乎並沒有工作。但它不是一個問題,因爲它從谷歌驅動器直接查看時顯示罰款。

我認爲這可能是一個訪問問題,導致該網站託管在本地,而我的插件工作,但然後由谷歌託管的kml文件工作正常。

我很難過。也許別人可以對此有所瞭解。

+0

失敗時,[KmlStatus](https://developers.google.com/maps/documentation/javascript/reference#KmlLayerStatus)是什麼? – geocodezip

回答

0

當您說「該網站在本地託管插件時」,這是否意味着該網站不具有外部可用性?如果是這種情況,它將無法工作,因爲KML需要可供Google服務器訪問,而不是瀏覽器。

+0

但URL#2,託管在谷歌驅動器上並公開共享的URL也不起作用。 – wackozacko

+0

嗯......不確定。當然,KML需要外部可用,所以值得注意。它可能是HTTP vs HTTPS問題嗎? –