Show a simple marker symbol on a map.
Use case
Customize the appearance of a point suitable for the data. For example, a point on the map styled with a circle could represent a drilled borehole location, whereas a cross could represent the location of an old coal mine shaft.
How to use the sample
The sample loads with a predefined simple marker symbol, set as a red circle.
How it works
- Create a
SimpleMarkerSymbol(SimpleMarkerSymbolStyle, color, size). - Create a
Graphicpassing in aPointand the simple marker symbol as parameters. - Add the graphic to the graphics overlay with
graphicsOverlay::graphics()::append(graphic).
Relevant API
- Graphic
- GraphicsOverlay
- Point
- SimpleMarkerSymbol
Tags
symbol
Sample Code
// [WriteFile Name=Simple_Marker_Symbol, Category=DisplayInformation] // [Legal] // Copyright 2016 Esri. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // [Legal] #ifdef PCH_BUILD #include "pch.hpp" #endif // PCH_BUILD // sample headers #include "Simple_Marker_Symbol.h" // ArcGIS Maps SDK headers #include "Graphic.h" #include "GraphicListModel.h" #include "GraphicsOverlay.h" #include "GraphicsOverlayListModel.h" #include "Map.h" #include "MapQuickView.h" #include "MapTypes.h" #include "MapViewTypes.h" #include "Point.h" #include "SimpleMarkerSymbol.h" #include "SpatialReference.h" #include "SymbolTypes.h" #include "Viewpoint.h" using namespace Esri::ArcGISRuntime; Simple_Marker_Symbol::Simple_Marker_Symbol(QQuickItem* parent) : QQuickItem(parent) { } Simple_Marker_Symbol::~Simple_Marker_Symbol() = default; void Simple_Marker_Symbol::init() { qmlRegisterType<MapQuickView>("Esri.Samples", 1, 0, "MapView"); qmlRegisterType<Simple_Marker_Symbol>("Esri.Samples", 1, 0, "Simple_Marker_SymbolSample"); } void Simple_Marker_Symbol::componentComplete() { QQuickItem::componentComplete(); // find QML MapView component m_mapView = findChild<MapQuickView*>("mapView"); m_mapView->setWrapAroundMode(WrapAroundMode::Disabled); // create a map using the imagery basemap m_map = new Map(BasemapStyle::ArcGISImageryStandard, this); // set initial viewpoint m_map->setInitialViewpoint(Viewpoint(Point(-226773, 6550477, SpatialReference::webMercator()), 7500)); // create a GraphicsOverlay m_graphicsOverlay = new GraphicsOverlay(this); // create red circle graphic Graphic* redCircle = new Graphic(Point(-226773, 6550477, SpatialReference::webMercator()), this); SimpleMarkerSymbol* redCircleSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbolStyle::Circle, QColor("red"), 12, this); redCircle->setSymbol(redCircleSymbol); // append to graphics overlay m_graphicsOverlay->graphics()->append(redCircle); // add the GraphicsOverlay to map view m_mapView->graphicsOverlays()->append(m_graphicsOverlay); // set map to map view m_mapView->setMap(m_map); }