2012-10-18 47 views
2

我目前通過V3 API測試谷歌地圖,現在我們的開發服務器上,而我想要做的是導入KML層這是來自maps.google.com上通常的「我的地圖」之一。重點是我想要API中的一些功能,但希望人們能夠在需要時輕鬆添加或刪除地圖上的點。谷歌地圖API V3 - 地圖「白人出」當我添加一個KML層

無論如何,只是通過API顯示地圖的確很好。獲得KML的確很好 - 我看不出有什麼問題。但是,當我將KML添加到API中的地圖中時,KML中的點會顯示出來,但整個地圖變白,因此只顯示標記。

我試過改變地圖類型(例如Roadmap vs. Terrain)無濟於事。再一次,我看不出KML有什麼問題,並且我證實它似乎可以在其他地方使用。這發生在我嘗試的每個瀏覽器中,這表明我在編碼中搞砸了一些東西,但我無法弄清楚。

由於我們的CMS剔除地圖代碼,我只是將其作爲外部.js文件導入。這看起來是這樣的:

function initialize() { 
    var mapOptions = { 
    zoom: 7, 
    center: new google.maps.LatLng(37.668046, -79.749756), 
    mapTypeId: google.maps.MapTypeId.TERRAIN 
    } 
    var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 

    var participantsLayer = new google.maps.KmlLayer('https://maps.google.com/maps/ms?msa=0&msid=204048902337864904598.0004cc332e8034251c1db&ie=UTF8&ll=37.668046,-80.289717&spn=1.959603,5.642338&output=kml'); 

    participantsLayer.setMap(map); 
} 

function loadScript() { 
    var script = document.createElement("script"); 
    script.type = "text/javascript"; 
    script.src = "https://maps.googleapis.com/maps/api/js?key=abc.def&sensor=false&callback=initialize"; 
    document.body.appendChild(script); 
} 

window.onload = loadScript; 

謝謝。

回答

0

適用於我的own page。我懷疑你的css中有什麼東西(可能是你的CMS把地圖代碼弄糟了),懷疑它和你提出的任何標籤有關。

+0

@Josh C.,這可能是答案。如果這沒有解決問題,我會建議發佈一個活動鏈接到您的代碼,演示問題,我們可以在這裏調試它。 –

+0

derp,你是對的。決定使用Chrome開發人員工具來搜索嵌套div的部分谷歌堅持看看有什麼事情,果然,CMS是在圖像上放置一個背景顏色,這會導致它變白 –