0

私はProcessing、米国の健康保険に加入している人の数を示す単純なデータ視覚化アプリケーションの開発に取り組んでいます。

自分のマシンでローカルにスケッチを実行していますが、Processing IDE 内から利用できる Javascript モードを使用して Web 用にエクスポートしようとしました。

HTML ページとスケッチ用の JS ファイルを含む多数のファイルを含むフォルダーが生成されます。ただし、からページを読み込もうとすると、このエラーが発生しますLocalHost

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

私のSketch(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;

生成されたコードは 10,000 行以上あり、実際に問題をデバッグするのは非常に困難です。

この問題に関するアドバイスやヘルプをいただければ幸いです。

4

1 に答える 1

0

Java ライブラリは JavaScript では使用できないため、Processing.js では使用できません。

次の 3 つのオプションがあります。

オプション 1:同じことを行う JavaScript ライブラリを見つけます。残念ながら、Unfolding Maps は JavaScript をサポートしていないため、別のものを使用する必要があります。GoogleMaps API はチェックアウトする価値があるかもしれません。アプリケーションを Web サイトに埋め込みたい場合、これが唯一の現実的なオプションです。

オプション 2:実行可能な jar としてデプロイします。JarMatey (注: 私は JarMatey を書きました)のようなものを使用して、Processing スケッチを自己解凍型の実行可能な jar としてパッケージ化できます。これを Web ページに埋め込むことはできませんが、Java Web Startを使用して、Web 上での展開を容易にすることができます。

オプション 3:パッケージ化された実行可能ファイルとしてデプロイします。Processing はアプリケーションをエクスポートできますが、単一のファイルではなく、ライブラリ ディレクトリが必要です。代わりに、実行可能な jar を作成し、 JWrapperなどを使用して単一ファイルの実行可能ファイルを作成できます。

注:アプレットとして展開することは、実際にはオプションではありません。アプレットはほとんど死んでおり、あなたとユーザーの両方にとって大きな苦痛となるでしょう。アプレットは Java 9 で非推奨になります。

于 2016-03-10T16:52:07.877 に答える