2014-02-18 65 views
0

我與Processing試圖發展爲人民健康保險在美國的數簡單的數據可視化應用程序的工作。導出處理中的應用與Web處理IDE

我有草圖我的機器上本地工作,但我試圖將其導出爲使用可從處理IDE在JavaScript模式的網絡。

生成一個文件夾,其中包含一個HTML頁面和草圖的JS文件。然而,當我試圖從我的素描(在Java中)我LocalHost

​​

我的整個代碼加載頁面我得到這個錯誤是在這裏:

UnfoldingMap map; 

List<Marker>stateMarkers; 
List<Feature>states; 

void setup() { 
    size(800, 600); 
    smooth(); 
    map = new UnfoldingMap(this); 
    MapUtils.createDefaultEventDispatcher(this, map); 
    states = GeoJSONReader.loadData(this, "ushealthinsurance2005.json"); 
    stateMarkers = MapUtils.createSimpleMarkers(states); 
    stateMarkers = MapUtils.createSimpleMarkers(states); 
    map.addMarkers(stateMarkers); 
} 

void draw() { 
    map.draw(); 
    for (int i = 0; i < stateMarkers.size(); i++) { 
    Marker state = stateMarkers.get(i); 
    //Get information when mouse over a county. 
    if (state.isInside(map, mouseX, mouseY)) { 
     state.setColor(color(255, 0, 0)); 
    } 
    else { 
     state.setColor(color(0, 0, 255)); 
    } 
    } 
} 

我要指出,我還使用地圖庫Unfolding生成地圖切片併爲應用程序添加交互性。

有沒有人有任何想法這裏可能會發生什麼?這是IDE本身的一個小故障嗎?有沒有人遇到類似的問題?

線從JS文件中引發錯誤是這一個:

throw "Processing.js: Unable to execute pjs sketch: " + e; 

有使實際調試問題很難超過10000行生成的代碼。

感謝有關此問題的任何建議或幫助。

+0

被棄用,我不知道該庫展開的,但如果你正在使用的對Java的依賴那麼任何庫,他們會不會於JavaScript運行給你不定義的'參考..錯誤。你將不得不爲這些庫找到Javascript替代品。看到你有大約1萬行代碼,如果你用Java庫創建你的程序,你可能需要做很多事來修改所有的東西。所以在你做任何改變之前,我都會環顧網絡。您可以在Processing論壇上找到相關的帖子。 –

+0

@NicolásCarlo是正確展開是一個java庫,不會在js模式下工作。除了他的建議,你可能會考慮導出一個小程序。可以在瀏覽器中工作,但會帶來很多令人恐懼的警告...... –

回答

0

你不能在JavaScript中使用Java庫,所以你不能在Processing.js中使用它們。

你有三個選擇:

選項1:找到一個JavaScript庫,做同樣的事情。不幸的是,Unfolding Maps does not support JavaScript,所以你必須使用別的東西。 GoogleMaps API可能值得一試。 如果您想將您的應用程序嵌入到網站中,這是唯一的選擇。

選項2:部署爲可運行jar。您可以使用像JarMatey(注意:我寫了JarMatey)之類的東西來將Processing草圖打包爲自解壓可運行jar。您將無法將其嵌入到網頁中,但您可以使用Java Web Start來更輕鬆地通過網絡進行部署。

選項3:部署爲打包的可執行文件。處理可以導出應用程序,但它們需要庫目錄而不是作爲單個文件來處理。相反,您可以創建一個可運行的jar,然後使用類似JWrapper的文件創建單個文件的可執行文件。

注:部署作爲一個applet是不是一個真正的選擇。小程序幾乎已經死了,它們將對你和你的用戶都是巨大的痛苦。小程序將在Java中9