リビジョン 55e7c35f
| 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);
|
||
|
}
|
||
|
|
||
|
}
|
||
ローカルのタイルパッケージファイルからデータを読み込み地図表示する