2015-05-12 32 views
4

我有興趣在node.js應用程序中使用ol3(例如用於閱讀GeoJSON的ol.format API)。這是一個支持的用例嗎?openlayers-3在node.js應用程序?

我問,因爲它似乎不工作,只是運行npm install openlayers,然後要求它。 var ol3 = require('openlayers')失敗的代碼,在尋找的window.navigation對象的geolocation財產,因爲window.navigation不使Node.js環境中存在

類型錯誤:「在」運營商不能使用搜索未定義 「地理位置」 at /home/me/src/ol3/node_modules/openlayers/dist/ol.js:144:823 at OPENLAYERS(/home/me/src/ol3/node_modules/openlayers/dist/ol.js:9:22)對象處爲 。 (/home/me/src/ol3/node_modules/openlayers/dist/ol.js:13:2) at Module._compile(module.js:460:26) at Object.Module._extensions..js(module .js:478:10) at Module.load(module.js:355:32) at Function.Module._load(module.js:310:12) at Module.require(module.js:365:17) ) 在要求(module.js:384:17)

+0

你能詳細說一下嗎?我想你有理由嘗試這種方式。 爲什麼你需要在node.js應用程序中使用ol3?這不是首先爲服務器端。它只是創建/操作GeoJSON?如果是的話,我沒有看到僅爲此使用OpenLayers 3。您可以使用其他JS庫。 –

+0

我很樂意在服務器上使用另一個JS庫。我在這方面並不是很有經驗,所以我很樂意以另一種方式表現出來。你推薦什麼JS庫?我查看了gdal及其nodejs綁定(node-gdal),但它似乎被設計爲從文件讀取數據,而不是從內存(例如HTTP請求的主體)讀取數據。 – curpa

+0

你可以重新表達你的問題,所以我可以做出答案嗎?事實上,你的問題似乎與來自Node的GeoJSON操作有關。你的OpenLayers 3問題只是一個「邊界效應」。 –

回答

3

不能在純粹的節點環境中使用的OpenLayers 3(但它可能與Browserify /的WebPack的客戶端使用)

您可以隨時存根window和其他對象在節點但存根是測試... 它也可能e使用PhantomJS(無頭瀏覽器)運行OpenLayers 3。

我不知道OpenLayers是爲瀏覽器以外的其他用途而設計的。

要獲得更多信息,您應該在OpenLayers 3 dev list上發佈您的問題以確認。

不準確複製你的StackOverflow問題!你最好問一些問題,例如「Openlayers3只能在瀏覽器中使用嗎?」因爲OpenLayers的開發者列表真的是開發者的問題,而不是現在的經典庫使用/簡單協助。