环境:JKD11,arcgis-runtime-sdk-java-100.13.0
pom文件中配置如下:(另外还需要引用javafx的依赖,请自行百度)
<dependency>
<groupId>com.esri.arcgisruntime</groupId>
<artifactId>arcgis-java</artifactId>
<version>100.13.0</version>
</dependency>
import com.esri.arcgisruntime.ArcGISRuntimeEnvironment;
import com.esri.arcgisruntime.mapping.ArcGISMap;
import com.esri.arcgisruntime.mapping.BasemapStyle;
import com.esri.arcgisruntime.mapping.Viewpoint;
import com.esri.arcgisruntime.mapping.view.MapView;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class Map extends Application {
private MapView mapView;
public static void main(String[] args) {
Application.launch(args);
}
@Override
public void start(Stage stage) {
stage.setTitle("Display a map tutorial");
stage.setWidth(800);
stage.setHeight(700);
stage.show();
StackPane stackPane = new StackPane();
Scene scene = new Scene(stackPane);
stage.setScene(scene);
ArcGISRuntimeEnvironment.setApiKey(yourApiKey);
mapView = new MapView();
stackPane.getChildren().add(mapView);
ArcGISMap map = new ArcGISMap(BasemapStyle.ARCGIS_TOPOGRAPHIC);
mapView.setMap(map);
mapView.setViewpoint(new Viewpoint(34.02700, -118.80543, 144447.638572));
}
@Override
public void stop() {
if (mapView != null) {
mapView.dispose();
}
}
}
注:需要到esri官网申请apikey
运行,报异常:java.lang.RuntimeException: Could not find runtime in any of:
由于arcgis runtime sdk java需要依赖的dll文件没有找到,解决方法:将jniLibs和resources两个目录解压到根目录,如图:
又遇到新问题:java.lang.IllegalAccessError: superclass access check failed: class com.sun.javafx.scene.control.ControlHelper
解决方法:新建类MapLauncher
public class MapLauncher {
public static void main(String[] args) {
Map.main(args);
}
}
运行成功