プロジェクト

全般

プロフィール

« | » 

リビジョン 55e7c35f

高徹 高橋 徹 さんがほぼ12年前に追加

ローカルのタイルパッケージファイルからデータを読み込み地図表示する

差分を表示:

learn/java/arcgis/runtimesdk/HelloArcGisRuntimeApp/src/arcgis/runtime/hello/HelloApp.java
/*
* ArcGIS Runtime SDK for JavaのHelloプログラム
* ArcGIS Runtime SDK for JavaのHelloプログラム
*/
package arcgis.runtime.hello;
import com.esri.client.local.ArcGISLocalTiledLayer;
import com.esri.map.JMap;
import com.esri.map.Layer.LayerStatus;
import com.esri.runtime.ArcGISRuntime;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.nio.file.Paths;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
/**
*
* ArcGIS Runtime SDK for Java ライブラリを使用して、地図表示を行う。
* <p>
* カレントディレクトリ(NetBeansプロジェクトディレクトリ)下のmap/SanFrancisco.tpk ファイルを
* 読み地図表示する。
* <p>
* @author toru
*/
public class HelloApp {
private static final Logger logger = Logger.getLogger(HelloApp.class.getName());
private JMap map;
private ArcGISLocalTiledLayer tiledLayer;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
logger.log(Level.INFO, "Program started.");
HelloApp app = new HelloApp();
ArcGISRuntime.setLicense("runtimestandard,101,rus417374506,11-apr-2014,1JHJH7E7J3DPA2M02152");
app.createUiAndRun();
......
});
map = new JMap();
window.add(map, BorderLayout.CENTER);
JPanel controlPane = new JPanel();
controlPane.setLayout(new BoxLayout(controlPane, BoxLayout.Y_AXIS));
JButton tiledButton = new JButton("Tiled Layer");
tiledButton.addActionListener(this::showTiledLayer);
controlPane.add(tiledButton);
window.add(controlPane, BorderLayout.EAST);
window.setVisible(true);
});
}
private void showTiledLayer(ActionEvent ev) {
String mapPath = Paths.get(System.getProperty("user.dir"), "map", "SanFrancisco.tpk").toString();
tiledLayer = new ArcGISLocalTiledLayer(mapPath);
tiledLayer.addLayerInitializeCompleteListener(arg -> {
if (arg.getLayer().getStatus() != LayerStatus.INITIALIZED) {
JOptionPane.showMessageDialog(null, "タイル・マップ・ファイルの読み込み不可", "", JOptionPane.ERROR_MESSAGE);
} else {
System.out.println("タイル・レイヤの初期化完了");
}
});
map.getLayers().clear();
map.getLayers().add(tiledLayer);
}
}

他の形式にエクスポート: Unified diff