Arcgis for Java(一)在应用程序中添加地图
2015-08-07 18:00
615 查看
Arcgis Runtime SDK for Java包含一个JMap容器,使你可以显示不同源的地图信息,比如来自ArcGIS for Server services, Bing Maps, Open Street Map等等。
本例将使你的地图显示来自ArcGIS for Server map service的tiled layer,而且可以显示一个标记图形。
本例将使你的地图显示来自ArcGIS for Server map service的tiled layer,而且可以显示一个标记图形。
package application; import java.awt.EventQueue; import javax.swing.JFrame; import java.awt.BorderLayout; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import com.esri.runtime.ArcGISRuntime; import com.esri.core.geometry.Envelope; import com.esri.core.geometry.GeometryEngine; import com.esri.core.geometry.Point; import com.esri.core.geometry.SpatialReference; import com.esri.core.map.Graphic; import com.esri.core.symbol.PictureMarkerSymbol; import com.esri.map.ArcGISTiledMapServiceLayer; import com.esri.map.GraphicsLayer; import com.esri.map.JMap; import com.esri.map.MapEvent; import com.esri.map.MapEventListener; import com.esri.map.MapOptions; import com.esri.map.MapOptions.MapType; public class newClass { private JFrame window; private JMap map; public newClass() { window = new JFrame(); window.setSize(800, 600); window.setLocationRelativeTo(null); // center on screen window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.getContentPane().setLayout(new BorderLayout(0, 0)); // dispose map just before application window is closed. window.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent windowEvent) { super.windowClosing(windowEvent); map.dispose(); } }); map = new JMap(); ArcGISTiledMapServiceLayer tiledLayer = new ArcGISTiledMapServiceLayer("http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"); map.getLayers().add(tiledLayer); map.setExtent(new Envelope(-371147, 7536055, -341260, 7557266)); GraphicsLayer graphicsLayer = new GraphicsLayer(); graphicsLayer.setName("Marker graphics"); map.getLayers().add(graphicsLayer); map.addMapEventListener(new MapEventListener() { @Override public void mapReady(MapEvent event) { SpatialReference mapSR=event.getMap().getSpatialReference(); System.out.println("the map spatial reference is wkid="+mapSR.getID()); Point point=GeometryEngine.project(3.2008, 55.9486, mapSR); PictureMarkerSymbol symbol = new PictureMarkerSymbol("http://static.arcgis.com/images/Symbols/Basic/RedShinyPin.png"); Graphic pointGraphic=new Graphic(point,symbol); graphicsLayer.addGraphic(pointGraphic); } @Override public void mapExtentChanged(MapEvent event) { // TODO Auto-generated method stub } @Override public void mapDispose(MapEvent event) { // TODO Auto-generated method stub } }); window.getContentPane().add(map,BorderLayout.CENTER); } /** * Starting point of this application. * @param args */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { @Override public void run() { try { newClass application = new newClass(); application.window.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } }
相关文章推荐
- Java阅读word程序说明文件
- Spring中如何配置Hibernate事务
- java volatile关键字
- 搭建SpringMVC开发环境
- JAVA生成EXCEL图表
- java 学习总结
- java反射机制详解 及 Method.invoke解释 getMethod
- Android:Eclipse 安装Genymotion插件的时候出现 There are no categorized items
- java使用jxl导出数据到xls文件
- eclipse-java build path
- Java编程思想:第5章 初始化与清理
- MyEclipse/Eclipse用法:全局搜索和替换
- java中什么是bridge method(桥接方法)
- [转]Eclipse下打开文件所在的目录
- Spring Batch 简介
- java蛇形矩阵实现方法
- Spring retry基本使用
- java实现近义词维护
- java equals()用法错误解析
- Java经典位运算实例