有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javascript将处理应用程序导出到Web处理IDE

我正在与Processing合作,试图为美国医疗保险人数开发一个简单的数据可视化应用程序

我让草图在我的机器上本地工作,但我尝试使用处理IDE中可用的Javascript模式将其导出到web

将生成一个包含多个文件的文件夹,其中包括一个HTML页面和草图的JS文件。然而,当我试图从我的LocalHost加载页面时,我遇到了这个错误

Uncaught Processing.js: Unable to execute pjs sketch: ReferenceError: ListstateMarkers is not defined 

我的草图(Java)的全部代码如下:

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行,这使得实际调试问题非常困难

感谢您在这个问题上的任何建议或帮助


共 (1) 个答案

  1. # 1 楼答案

    不能在JavaScript中使用Java库,因此不能在处理中使用它们。js

    您有三种选择:

    选项1:查找执行相同操作的JavaScript库。不幸的是,Unfolding Maps does not support JavaScript,因此您必须使用其他内容。谷歌地图API可能值得一看如果您想将应用程序嵌入网站,这是唯一的实际选择

    选项2:部署为可运行jar。您可以使用类似JarMatey(注意:我编写了JarMatey)的东西将处理草图打包为自解压的可运行jar。您将无法将其嵌入到网页中,但可以使用Java Web Start使通过web进行部署变得更容易

    选项3:作为打包的可执行文件部署。处理可以导出应用程序,但它们需要库目录,而不是单个文件。相反,您可以创建一个可运行的jar,然后使用类似JWrapper的东西来创建一个可执行文件

    注意:作为小程序部署实际上不是一个选项。小程序已经死了,对你和你的用户来说都是巨大的痛苦。小程序将在Java9中被弃用