2016-09-18 42 views
0

我在運行我的Ubuntu Apache本地主機上的標準GOOGLE json文件加載示例時出現問題。我看到一個與IIS有關的問題(How to open a local file with Javascript FileReader())。不過,我正在尋找Ubuntu上的Apache解決方案。本地主機無法在Apache中加載geoJson數據到Ubuntu中

json文件從遠程URL(請參閱下面的代碼)正確加載,但無法從我的本地URL加載,即使我可以通過我的瀏覽器查看它。我嘗試過絕對和相對的路徑。

Data Layer: Simple html, body { height: 100%; margin: 0; padding: 0; } #map { height: 100%; }

function initMap() { 
    map = new google.maps.Map(document.getElementById('map'), { 
    zoom: 4, 
    center: {lat: -28, lng: 137} 
    }); 
    // This doesn't work even though it works in my FireFox browser 
    map.data.loadGeoJson('localhost/google.json'); 
    //This one works 
    //map.data.loadGeoJson('https://storage.googleapis.com/mapsdevsite/json/google.json'); 
} 

謝謝。

+0

此外,有沒有任何js控制檯錯誤指示任何安全策略被違反? –

+0

我是新來的JavaScript和Linux - 所以剛剛安裝Firebug。 當我使用http://myserver.local運行時,出現此錯誤: 「跨源請求被阻止:同源策略不允許讀取http://myserver.local/google.json處的遠程資源。 (原因:缺少CORS頭'Access-Control-Allow-Origin')。「 當我使用local/google.json運行時,出現此錯誤:「NS_ERROR_DOM_BAD_URI:訪問受限制的URI被拒絕」 –

+0

更正:當我使用localhost/google.json運行時出現錯誤: 「NS_ERROR_DOM_BAD_URI:否認「 –

回答

0

您是否嘗試過以下方法?

以下內容添加到/ etc/hosts文件:

127.0.0.1  myserver  myserver.local 

及用途:中 http://myserver.local代替http://localhost

這使得瀏覽器認爲它連接到遠程服務器。

+0

感謝您的建議。我已經嘗試過,但它仍然不起作用。現在我可以從 http://myserver.local/google.json查看該文件,但它仍然不會從.html文件運行。 –

0

我還沒有完全解決這個我想要的方式 - 但我已經能夠通過將TestGeoJSON.html文件(如上所示)放入var/www/html中,然後通過加載Json文件直接使用:

map.data.loadGeoJson('file:///var/www/html/google.json');

相關問題