2014-02-18 36 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