arcgis runtime100(七、八课时)
Map
地图概念
A map can tell a story, present an idea, or showcase a situation. It can help you do hundreds of things, from finding the nearest hospital to viewing earthquake events in relation to high-population areas.
一个地图能讲一个故事,展示一个想法,或者展示一个局势,他可以帮助你做成千上百的事情,从找到最近的医院到展示人口稠密地区的地震发生事件。
graph LR
Map-->basemap_layers
Map-->operational_layers
Map的MVC架构
graph LR
Map_M-->MapView_V
创建一个Map
- 创建一个知道中间点,地图类型和底图级别的Map
var myNewMap = new Map(
BasemapType.Imagery, // use the Imagery basemap
42.175131, // latitude
9.192313, // longitude
8 // level of detail (lower number = smaller scale)
);
- 只知道底图
var myNewMap = new Map(Basemap.CreateNationalGeographic());
- 知道参考系
var myNewMap = new Map(SpatialReference.Create(37202));
- 什么都不知道
var myNewMap = new Map();
- 标准Arcgis在线底图
// create a new (empty) map
var myMap = new Map();
// create a streets basemap
var streetsBasemap = Basemap.CreateStreets();
// add the basemap to the map
myMap.Basemap = streetsBasemap;
- 用一个图层建一个底图
// create a new tiled layer
var imageryTiledLayer = new ArcGISTiledLayer(new Uri("http://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer"));
// create a basemap from the tiled layer
var myBasemap = new Basemap(imageryTiledLayer);
// create a new map; set the basemap
var myMap = new Map();
myMap.Basemap = myBasemap;
- 多个图层加入一个图
// create two layers
var imageTiledLayer = new ArcGISTiledLayer(new Uri("http://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer"));
var censusLayer = new ArcGISMapImageLayer(new Uri("http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer"));
// create a new basemap; add the layers (BaseLayers property)
var myBasemap = new Basemap();
myBasemap.BaseLayers.Add(imageTiledLayer);
myBasemap.BaseLayers.Add(censusLayer);
// create a new Map to display the basemap
var myMap = new Map(myBasemap);
空间参考系用第一个图的空间参考系
- 添加操作图层
// create a service feature table of wildfire response areas
var wildfireResponseUri = new Uri("http://sampleserver6.arcgisonline.com/arcgis/rest/services/Wildfire/FeatureServer/2");
var wildfireAreasFeatureTable = new ServiceFeatureTable(wildfireResponseUri);
// create a new feature layer from the table
var wildfireAreasLayer = new FeatureLayer(wildfireAreasFeatureTable);
// add the layer to the OperationalLayers collection in the map
myMap.OperationalLayers.Add(wildfireAreasLayer);
- 插入图层
// insert a layer into a specified position of the OperationalLayers collection
myMap.OperationalLayers.Insert(3, wildfireAreasLayer);
图层
一个图层的数据来自一个单独的数据源
Map API
Esri.ArcGISRuntime.Mapping
Esri.ArcGISRuntime (in Esri.ArcGISRuntime.dll) Version: 100.1.0.0
ArcGIS Runtime SDK for .NET (WPF)
以下项目要解压packages到根目录才能运行packages