当前位置: 首页>>代码示例>>Java>>正文


Java GraphicsOverlay.setRenderer方法代码示例

本文整理汇总了Java中com.esri.arcgisruntime.mapping.view.GraphicsOverlay.setRenderer方法的典型用法代码示例。如果您正苦于以下问题:Java GraphicsOverlay.setRenderer方法的具体用法?Java GraphicsOverlay.setRenderer怎么用?Java GraphicsOverlay.setRenderer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.esri.arcgisruntime.mapping.view.GraphicsOverlay的用法示例。


在下文中一共展示了GraphicsOverlay.setRenderer方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: initialize

import com.esri.arcgisruntime.mapping.view.GraphicsOverlay; //导入方法依赖的package包/类
public void initialize() {

    // create a scene and add a basemap to it
    ArcGISScene scene = new ArcGISScene();
    scene.setBasemap(Basemap.createImagery());

    // add the SceneView to the stack pane
    sceneView.setArcGISScene(scene);

    // add a camera and initial camera position
    Point point = new Point(83.9, 28.4, 1000, SpatialReferences.getWgs84());
    Camera camera = new Camera(point, 1000, 0, 50, 0);
    sceneView.setViewpointCamera(camera);

    // create a graphics overlay
    GraphicsOverlay graphicsOverlay = new GraphicsOverlay();
    graphicsOverlay.getSceneProperties().setSurfacePlacement(LayerSceneProperties.SurfacePlacement.RELATIVE);
    sceneView.getGraphicsOverlays().add(graphicsOverlay);

    // add renderer using rotation expressions
    SimpleRenderer renderer = new SimpleRenderer();
    renderer.getSceneProperties().setHeadingExpression("[HEADING]");
    renderer.getSceneProperties().setPitchExpression("[PITCH]");
    graphicsOverlay.setRenderer(renderer);

    // create a red (0xFFFF0000) cone graphic
    SimpleMarkerSceneSymbol coneSymbol = SimpleMarkerSceneSymbol.createCone(0xFFFF0000, 100, 100);
    coneSymbol.setPitch(-90);  // correct symbol's default pitch
    Graphic cone = new Graphic(new Point(83.9, 28.41, 200, SpatialReferences.getWgs84()), coneSymbol);
    graphicsOverlay.getGraphics().add(cone);

    // bind attribute values to sliders
    headingSlider.valueProperty().addListener(o -> cone.getAttributes().put("HEADING", headingSlider.getValue()));
    pitchSlider.valueProperty().addListener(o -> cone.getAttributes().put("PITCH", pitchSlider.getValue()));
  }
 
开发者ID:Esri,项目名称:arcgis-runtime-samples-java,代码行数:36,代码来源:ScenePropertiesExpressionsController.java

示例2: onCreate

import com.esri.arcgisruntime.mapping.view.GraphicsOverlay; //导入方法依赖的package包/类
@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

  mInputGraphicsOverlay = new GraphicsOverlay();
  mResultGraphicsOverlay = new GraphicsOverlay();

  // inflate MapView from layout
  mMapView = (MapView) findViewById(R.id.mapView);
  // create a map with the BasemapType topographic
  ArcGISMap map = new ArcGISMap(Basemap.Type.TOPOGRAPHIC, 45.3790902612337, 6.84905317262762, 12);
  // set the map to be displayed in this view
  mMapView.setMap(map);

  // renderer for graphics overlays
  SimpleMarkerSymbol pointSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.Style.CIRCLE, Color.RED, 10);
  SimpleRenderer renderer = new SimpleRenderer(pointSymbol);
  mInputGraphicsOverlay.setRenderer(renderer);

  int fillColor = Color.argb(120, 226, 119, 40);
  FillSymbol fillSymbol = new SimpleFillSymbol(SimpleFillSymbol.Style.SOLID, fillColor, null);
  mResultGraphicsOverlay.setRenderer(new SimpleRenderer(fillSymbol));

  // add graphics overlays to the map view
  mMapView.getGraphicsOverlays().add(mResultGraphicsOverlay);
  mMapView.getGraphicsOverlays().add(mInputGraphicsOverlay);

  mGeoprocessingTask = new GeoprocessingTask(getString(R.string.viewshed_service));

  mMapView.setOnTouchListener(new DefaultMapViewOnTouchListener(getApplicationContext(), mMapView) {
    @Override public boolean onSingleTapConfirmed(MotionEvent e) {
      android.graphics.Point screenPoint = new android.graphics.Point(Math.round(e.getX()), Math.round(e.getY()));
      Point mapPoint = mMapView.screenToLocation(screenPoint);
      addGraphicForPoint(mapPoint);
      calculateViewshedAt(mapPoint);
      return super.onSingleTapConfirmed(e);
    }
  });
}
 
开发者ID:Esri,项目名称:arcgis-runtime-samples-android,代码行数:41,代码来源:MainActivity.java

示例3: start

import com.esri.arcgisruntime.mapping.view.GraphicsOverlay; //导入方法依赖的package包/类
@Override
public void start(Stage stage) throws Exception {

  try {

    // create stack pane and JavaFX app scene
    StackPane stackPane = new StackPane();
    Scene fxScene = new Scene(stackPane);

    // set title, squareSize, and add JavaFX scene to stage
    stage.setTitle("Extrude Graphics Sample");
    stage.setWidth(800);
    stage.setHeight(700);
    stage.setScene(fxScene);
    stage.show();

    // create a scene and add a basemap to it
    ArcGISScene scene = new ArcGISScene();
    scene.setBasemap(Basemap.createImagery());

    // add the SceneView to the stack pane
    sceneView = new SceneView();
    sceneView.setArcGISScene(scene);
    stackPane.getChildren().add(sceneView);

    Camera camera = new Camera(28.4, 83, 10000, 10.0, 80.0, 0);
    sceneView.setViewpointCamera(camera);

    // add base surface for elevation data
    Surface surface = new Surface();
    surface.getElevationSources().add(new ArcGISTiledElevationSource(ELEVATION_IMAGE_SERVICE));
    scene.setBaseSurface(surface);

    // add a graphics overlay
    GraphicsOverlay graphicsOverlay = new GraphicsOverlay();
    graphicsOverlay.getSceneProperties().setSurfacePlacement(LayerSceneProperties.SurfacePlacement.DRAPED);

    // set renderer with extrusion property
    SimpleRenderer renderer = new SimpleRenderer();
    SceneProperties renderProperties = renderer.getSceneProperties();
    renderProperties.setExtrusionMode(SceneProperties.ExtrusionMode.BASE_HEIGHT);
    renderProperties.setExtrusionExpression("[HEIGHT]");
    graphicsOverlay.setRenderer(renderer);

    // setup graphic positions
    double squareSize = 0.01;
    double maxHeight = 10000.0;
    double x = camera.getLocation().getX();
    double y = camera.getLocation().getY() + 0.2;
    List<Point> points = IntStream.range(0, 100).mapToObj(i -> new Point(i / 10 * squareSize + x, i % 10 *
        squareSize + y)).collect(Collectors.toList());

    // create and style graphics
    points.forEach(p -> {
      double z = (int) (maxHeight * Math.random());
      int color = ColorUtil.colorToArgb(Color.color(1.0 / maxHeight * z, 0, 0.5, 1));
      Polygon polygon = new Polygon(new PointCollection(Arrays.asList(new Point(p.getX(), p.getY(), z), new Point(p
          .getX() + squareSize, p.getY(), z), new Point(p.getX() + squareSize, p.getY() + squareSize, z), new Point(p
              .getX(), p.getY() + squareSize, z))));
      Graphic graphic = new Graphic(polygon);
      graphic.getAttributes().put("HEIGHT", z);
      graphic.setSymbol(new SimpleFillSymbol(SimpleFillSymbol.Style.SOLID, color, null));
      graphicsOverlay.getGraphics().add(graphic);
    });

    sceneView.getGraphicsOverlays().add(graphicsOverlay);
  } catch (Exception e) {
    // on any error, display the stack trace
    e.printStackTrace();
  }
}
 
开发者ID:Esri,项目名称:arcgis-runtime-samples-java,代码行数:72,代码来源:ExtrudeGraphicsSample.java

示例4: start

import com.esri.arcgisruntime.mapping.view.GraphicsOverlay; //导入方法依赖的package包/类
@Override
public void start(Stage stage) throws Exception {

  try {
    // create stack pane and application scene
    StackPane stackPane = new StackPane();
    Scene scene = new Scene(stackPane);

    // size the stage, add a title, and set scene to stage
    stage.setTitle("Simple Renderer Sample");
    stage.setWidth(800);
    stage.setHeight(700);
    stage.setScene(scene);
    stage.show();

    // create a ArcGISMap with the imagery basemap
    final ArcGISMap map = new ArcGISMap(Basemap.createImageryWithLabels());

    // create a view and set ArcGISMap to it
    mapView = new MapView();
    mapView.setMap(map);

    // create SpatialReference for points
    final SpatialReference spatialReference = SpatialReferences.getWgs84();

    // create points for displaying graphics
    Point oldFaithfullPoint = new Point(-110.828140, 44.460458, spatialReference);
    Point cascadeGeyserPoint = new Point(-110.829004, 44.462438, spatialReference);
    Point plumeGeyserPoint = new Point(-110.829381, 44.462735, spatialReference);

    // create initial viewpoint using an envelope
    Envelope envelope = new Envelope(oldFaithfullPoint, plumeGeyserPoint);

    // set viewpoint on mapview with padding
    mapView.setViewpointGeometryAsync(envelope, 100.0);

    // create a graphics overlay and add it to the mapview
    GraphicsOverlay graphicsOverlay = new GraphicsOverlay();
    mapView.getGraphicsOverlays().add(graphicsOverlay);

    // create a red (0xFFFF0000) simple symbol for use in a simple renderer
    SimpleMarkerSymbol symbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.Style.CROSS, 0xFFFF0000, 12);
    SimpleRenderer renderer = new SimpleRenderer(symbol);

    // apply the renderer to the graphics overlay
    graphicsOverlay.setRenderer(renderer);

    // create graphics from the location points.
    Graphic oldFaithfullGraphic = new Graphic(oldFaithfullPoint);

    Graphic cascadeGeyserGraphic = new Graphic(cascadeGeyserPoint);
    Graphic plumeGeyserGraphic = new Graphic(plumeGeyserPoint);
    graphicsOverlay.getGraphics().add(oldFaithfullGraphic);
    graphicsOverlay.getGraphics().add(cascadeGeyserGraphic);
    graphicsOverlay.getGraphics().add(plumeGeyserGraphic);

    // add the map view and control box to stack pane
    stackPane.getChildren().add(mapView);
  } catch (Exception e) {
    // on any error, display stack trace
    e.printStackTrace();
  }
}
 
开发者ID:Esri,项目名称:arcgis-runtime-samples-java,代码行数:64,代码来源:SimpleRendererSample.java

示例5: start

import com.esri.arcgisruntime.mapping.view.GraphicsOverlay; //导入方法依赖的package包/类
@Override
public void start(Stage stage) throws Exception {
  mapView = new MapView();
  StackPane appWindow = new StackPane(mapView);
  Scene scene = new Scene(appWindow);

  // set title, size, and add scene to stage
  stage.setTitle("Dictionary Renderer Graphics Overlay Sample");
  stage.setWidth(800);
  stage.setHeight(700);
  stage.setScene(scene);
  stage.show();

  ArcGISMap map = new ArcGISMap(Basemap.createTopographic());
  mapView.setMap(map);

  graphicsOverlay = new GraphicsOverlay();
  // graphics no longer show after zooming passed this scale
  graphicsOverlay.setMinScale(1000000);
  mapView.getGraphicsOverlays().add(graphicsOverlay);

  // create symbol dictionary from specification
  DictionarySymbolStyle symbolDictionary = new DictionarySymbolStyle("mil2525d");

  // tells graphics overlay how to render graphics with symbol dictionary attributes set
  DictionaryRenderer renderer = new DictionaryRenderer(symbolDictionary);
  graphicsOverlay.setRenderer(renderer);

  // parse graphic attributes from a XML file
  List<Map<String, Object>> messages = parseMessages();

  // create graphics with attributes and add to graphics overlay
  messages.stream()
      .map(DictionaryRendererGraphicsOverlaySample::createGraphic)
      .collect(Collectors.toCollection(() -> graphicsOverlay.getGraphics()));

  // once view has loaded
  mapView.addSpatialReferenceChangedListener(e -> {
    // set initial viewpoint
    mapView.setViewpointGeometryAsync(graphicsOverlay.getExtent());
  });
}
 
开发者ID:Esri,项目名称:arcgis-runtime-samples-java,代码行数:43,代码来源:DictionaryRendererGraphicsOverlaySample.java

示例6: start

import com.esri.arcgisruntime.mapping.view.GraphicsOverlay; //导入方法依赖的package包/类
@Override
public void start(Stage stage) throws Exception {

  try {
    // create stack pane and application scene
    StackPane stackPane = new StackPane();
    Scene scene = new Scene(stackPane);

    // set title, size, and add scene to stage
    stage.setTitle("Add Graphics with Renderer Sample");
    stage.setWidth(800);
    stage.setHeight(700);
    stage.setScene(scene);
    stage.show();

    // create a map with topographic basemap
    ArcGISMap map = new ArcGISMap(Basemap.Type.TOPOGRAPHIC, 15.169193, 16.333479, 2);

    // set the map to the view
    mapView = new MapView();
    mapView.setMap(map);

    // create a graphics overlay for displaying point graphic
    GraphicsOverlay pointGraphicOverlay = new GraphicsOverlay();
    // create point geometry
    Point point = new Point(40e5, 40e5, SpatialReferences.getWebMercator());
    // create graphic for point
    Graphic pointGraphic = new Graphic(point);
    // red (0xFFFF0000) diamond point symbol
    SimpleMarkerSymbol pointSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.Style.DIAMOND, 0xFFFF0000, 10);
    // create simple renderer
    SimpleRenderer pointRenderer = new SimpleRenderer(pointSymbol);
    // set renderer on graphics overlay
    pointGraphicOverlay.setRenderer(pointRenderer);
    // add graphic to overlay
    pointGraphicOverlay.getGraphics().add(pointGraphic);
    // add graphics overlay to the MapView
    mapView.getGraphicsOverlays().add(pointGraphicOverlay);

    // solid blue (0xFF0000FF) line graphic
    GraphicsOverlay lineGraphicOverlay = new GraphicsOverlay();
    PolylineBuilder lineGeometry = new PolylineBuilder(SpatialReferences.getWebMercator());
    lineGeometry.addPoint(-10e5, 40e5);
    lineGeometry.addPoint(20e5, 50e5);
    Graphic lineGraphic = new Graphic(lineGeometry.toGeometry());
    lineGraphicOverlay.getGraphics().add(lineGraphic);
    SimpleLineSymbol lineSymbol = new SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, 0xFF0000FF, 5);
    SimpleRenderer lineRenderer = new SimpleRenderer(lineSymbol);
    lineGraphicOverlay.setRenderer(lineRenderer);
    mapView.getGraphicsOverlays().add(lineGraphicOverlay);

    // solid yellow (0xFFFFFF00) polygon graphic
    GraphicsOverlay polygonGraphicOverlay = new GraphicsOverlay();
    PolygonBuilder polygonGeometry = new PolygonBuilder(SpatialReferences.getWebMercator());
    polygonGeometry.addPoint(-20e5, 20e5);
    polygonGeometry.addPoint(20e5, 20e5);
    polygonGeometry.addPoint(20e5, -20e5);
    polygonGeometry.addPoint(-20e5, -20e5);
    Graphic polygonGraphic = new Graphic(polygonGeometry.toGeometry());
    polygonGraphicOverlay.getGraphics().add(polygonGraphic);
    SimpleFillSymbol polygonSymbol = new SimpleFillSymbol(SimpleFillSymbol.Style.SOLID, 0xFFFFFF00, null);
    SimpleRenderer polygonRenderer = new SimpleRenderer(polygonSymbol);
    polygonGraphicOverlay.setRenderer(polygonRenderer);
    mapView.getGraphicsOverlays().add(polygonGraphicOverlay);

    // add the map view to stack pane
    stackPane.getChildren().add(mapView);
  } catch (Exception e) {
    e.printStackTrace();
  }
}
 
开发者ID:Esri,项目名称:arcgis-runtime-samples-java,代码行数:72,代码来源:AddGraphicsWithRendererSample.java

示例7: addGraphicsOverlay

import com.esri.arcgisruntime.mapping.view.GraphicsOverlay; //导入方法依赖的package包/类
private void addGraphicsOverlay(){
    // point graphic
    Point pointGeometry = new Point(40e5, 40e5, SpatialReferences.getWebMercator());
    // red diamond point symbol
    SimpleMarkerSymbol pointSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.Style.DIAMOND, Color.RED, 10);
    // create graphic for point
    Graphic pointGraphic = new Graphic(pointGeometry);
    // create a graphic overlay for the point
    GraphicsOverlay pointGraphicOverlay = new GraphicsOverlay();
    // create simple renderer
    SimpleRenderer pointRenderer = new SimpleRenderer(pointSymbol);
    pointGraphicOverlay.setRenderer(pointRenderer);
    // add graphic to overlay
    pointGraphicOverlay.getGraphics().add(pointGraphic);
    // add graphics overlay to the MapView
    mMapView.getGraphicsOverlays().add(pointGraphicOverlay);

    // line graphic
    PolylineBuilder lineGeometry = new PolylineBuilder(SpatialReferences.getWebMercator());
    lineGeometry.addPoint(-10e5, 40e5);
    lineGeometry.addPoint(20e5, 50e5);
    // solid blue line symbol
    SimpleLineSymbol lineSymbol = new SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, Color.BLUE, 5);
    // create graphic for polyline
    Graphic lineGraphic = new Graphic(lineGeometry.toGeometry());
    // create graphic overlay for polyline
    GraphicsOverlay lineGraphicOverlay = new GraphicsOverlay();
    // create simple renderer
    SimpleRenderer lineRenderer = new SimpleRenderer(lineSymbol);
    // add graphic to overlay
    lineGraphicOverlay.setRenderer(lineRenderer);
    // add graphic to overlay
    lineGraphicOverlay.getGraphics().add(lineGraphic);
    // add graphics overlay to the MapView
    mMapView.getGraphicsOverlays().add(lineGraphicOverlay);

    //polygon graphic
    PolygonBuilder polygonGeometry = new PolygonBuilder(SpatialReferences.getWebMercator());
    polygonGeometry.addPoint(-20e5, 20e5);
    polygonGeometry.addPoint(20e5, 20e5);
    polygonGeometry.addPoint(20e5, -20e5);
    polygonGeometry.addPoint(-20e5, -20e5);
    // solid yellow polygon symbol
    SimpleFillSymbol polygonSymbol = new SimpleFillSymbol(SimpleFillSymbol.Style.SOLID, Color.YELLOW, null);
    // create graphic for polygon
    Graphic polygonGraphic = new Graphic(polygonGeometry.toGeometry());
    // create graphic overlay for polygon
    GraphicsOverlay polygonGraphicOverlay = new GraphicsOverlay();
    // create simple renderer
    SimpleRenderer polygonRenderer = new SimpleRenderer(polygonSymbol);
    // add graphic to overlay
    polygonGraphicOverlay.setRenderer(polygonRenderer);
    // add graphic to overlay
    polygonGraphicOverlay.getGraphics().add(polygonGraphic);
    // add graphics overlay to MapView
    mMapView.getGraphicsOverlays().add(polygonGraphicOverlay);

}
 
开发者ID:Esri,项目名称:arcgis-runtime-samples-android,代码行数:59,代码来源:MainActivity.java

示例8: onCreate

import com.esri.arcgisruntime.mapping.view.GraphicsOverlay; //导入方法依赖的package包/类
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //Create points to add graphics to the map to allow a renderer to style them
    //These are in WGS84 coordinates (Long, Lat)
    Point oldFaithfullPoint = new Point(-110.828140, 44.460458, SpatialReferences.getWgs84());
    Point cascadeGeyserPoint = new Point(-110.829004, 44.462438, SpatialReferences.getWgs84());
    Point plumeGeyserPoint = new Point(-110.829381, 44.462735, SpatialReferences.getWgs84());
    //Use the farthest points to create an envelope to use for the map views visible area
    Envelope initialEnvelope = new Envelope(oldFaithfullPoint, plumeGeyserPoint);

    // inflate MapView from layout
    mMapView = (MapView) findViewById(R.id.mapView);
    // create a map with the imagery basemap. This will set the map to have a WebMercator spatial reference
    ArcGISMap map = new ArcGISMap(Basemap.createImageryWithLabels());
    // set the map to be displayed in the mapview
    mMapView.setMap(map);

    //set initial envelope on the map view sith some padding so all points will be visible
    //This envelope is using the WGS84 points above, but is reprojected by the mapview into the maps spatial reference, so its works fine
    mMapView.setViewpointGeometryAsync(initialEnvelope, 100);

    // create a new graphics overlay and add it to the mapview
    GraphicsOverlay graphicOverlay = new GraphicsOverlay();
    mMapView.getGraphicsOverlays().add(graphicOverlay);

    //[DocRef: Name=Simple Renderer, Category=Fundamentals, Topic=Symbols and Renderers]
    //create a simple symbol for use in a simple renderer
    SimpleMarkerSymbol symbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.Style.CROSS, Color.RED, 12); //size 12, style of cross
    SimpleRenderer renderer = new SimpleRenderer(symbol);

    //apply the renderer to the graphics overlay (so all graphics will use the same symbol from the renderer)
    graphicOverlay.setRenderer(renderer);
    //[DocRef: END]

    //create graphics from the geyser location points. NOTE: no need to set the symbol on the graphic because the renderer takes care of it
    //The points are in WGS84, but graphics get reprojected automatically, so they work fine in a map with a spatial reference of web mercator
    Graphic oldFaithfullGraphic = new Graphic(oldFaithfullPoint);
    Graphic cascadeGeyserGraphic = new Graphic(cascadeGeyserPoint);
    Graphic plumeGeyserGraphic = new Graphic(plumeGeyserPoint);
    graphicOverlay.getGraphics().add(oldFaithfullGraphic);
    graphicOverlay.getGraphics().add(cascadeGeyserGraphic);
    graphicOverlay.getGraphics().add(plumeGeyserGraphic);

}
 
开发者ID:Esri,项目名称:arcgis-runtime-samples-android,代码行数:48,代码来源:MainActivity.java


注:本文中的com.esri.arcgisruntime.mapping.view.GraphicsOverlay.setRenderer方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。