2017-10-26 9 views
0

処理3を使用していて、gicentre GeoMapライブラリ経由でインタラクティブマップを実装しようとしています。私は米国地図を表示しています。ホバリング機能は、ホバリング状態を強調表示します。私は、このGeoMapライブラリで状態を拡大する方法があるのだろうかと思っています。この関数をトリガするmouseClickまたはmouseMoveイベント。選択した状態にズームするために地図を再描画する方法がわかりません。ここに私のスタートコードは次のとおりです。処理中のジオメンタジオマップで1つの状態をズームする

import org.gicentre.geomap.*; 

GeoMap geoMap; 
int id = -1; 
void setup() 
{ 
    size(800, 400); 
    geoMap = new GeoMap(this); // Create the geoMap object. 
    geoMap.readFile("usContinental"); // Read shapefile. 
} 

void draw() 
{ 
    background(202, 226, 245); // Ocean colour 
    stroke(0,40);    // Boundary colour 
    fill(206,173,146);   // Land colour 
    //if (id == -1) { 
    geoMap.draw();    // Draw the entire map. 
    //} else { 
    // geoMap.draw(id); 
    //} 
    // Find the country at mouse position and draw in different color. 
    id = geoMap.getID(mouseX, mouseY); 
    if (id != -1) 
    { 
    fill(180, 120, 120);  // Highlighted land colour. 
    geoMap.draw(id); 
    } 
} 

任意のアイデア?ありがとう!

答えて

0

これらの質問は、図書館のドキュメントを見ることで最もよく答えられます。 Hereは、giCentre geoMapライブラリのドキュメントです。

これによると、このライブラリは基本的に形状ファイルを表示するだけで、マップをズームするためのファンシーロジックはありません。 scale()関数またはカメラ関数を使用してこれを実装することができます。しかし、ボックスのズームアウトをサポートするライブラリを見つけるだけで最善の方法かもしれません。

+0

ありがとうKevin!ところで、あなたはそのような機能をサポートしているライブラリを知っていますか?私は地図を展開しようとしましたが、それは種類が遅いことがわかりました。 – zxue

+0

@zxue Unfolding Mapsは私が知っている唯一のProcessing/Javaオプションです。あなたはgoogle "javaマッピングライブラリ"または何かをすると、より良い運を持っているかもしれません。 –

関連する問題