本文整理汇总了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()));
}
示例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);
}
});
}
示例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();
}
}
示例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();
}
}
示例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();
}
}
示例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);
}
示例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);
}