Ⅰ android arcgistiedmapservicelayer載入圖層怎麼設置地圖參數
把你寫的代碼第二句改為:vartiledMapServiceLayer=newesri.layers.ArcGISTiledMapServiceLayer("MapServer");如果還不行有以下兩種可能:1.你的本地js和dojo庫配置有問題,使用遠程esri的dojo庫試一下;2.arcgisserver不在本機,你需要寫arcgisserver的ip地址。
Ⅱ Arcgis for Android identify 和query查詢遇到的問題,求教
1、QueryTask:是一個進行空間和屬性查詢的功能類,它可以在某個地圖服務的某個子圖層內進行查詢,順便提一下的是,QueryTask進行查詢的地圖服務並不必須載入到Map中進行顯示。QueryTask的執行需要兩個先決條件:一個是需要查詢的圖層URL、一個是進行查詢的過濾條件。
下面是QueryTask的基本過程:
//新建一個QueryTask
QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5");
// Query對象
Query query = new Query();
//傳入空間幾何范圍,可以不設置
//合法的geometry類型是Extent, Point, Multipoint, Polyline, Polygon
query.Geometry = geometry;
//是否返回查詢結果的空間幾何信息
query.ReturnGeometry = true;
//查詢結果返回的欄位,欄位必須在圖層中,欄位的大小寫可忽略
query.OutFields.AddRange(new string[] { "AREANAME", "POP2000" });
//quer.OutField.Add("*"); //返回所有欄位
//查詢的where條件,可以是任何合法的SQL語句,可以不設置
query.Where = "POP2000 > 350000";
//非同步查詢,需要綁定queryTask的兩個事件,通過ExecuteCompleted得到查詢結果
queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;
queryTask.Failed += QueryTask_Failed;
queryTask.ExecuteAsync(query);
//同步查詢,不需要綁定事件,直接返回查詢結果
//FeatureSet featureSet = queryTask.Execute(query);
2、FindTask:允許對地圖中一個或多個圖層的要素進行基於屬性欄位值的查詢(search one or more layers in a map for features with attribute values that match or contain an input value)。FindTask不能進行「空間查詢」,因為FindTask可以對多個圖層進行查詢,所有它的url屬性需要指向所查詢的地圖服務的REST URL,而不像QueryTask需要指定某個圖層的URL。
下面是FindTask的基本過程:
//新建一個Find task
FindTask findTask = new FindTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/");
//非同步執行,綁定事件
findTask.ExecuteCompleted += FindTask_ExecuteCompleted;
findTask.Failed += FindTask_Failed;
//初始化FindParameters參數
FindParameters findParameters = new FindParameters();
findParameters.LayerIds.AddRange(new int[] { 3 }); //查找的圖層
findParameters.SearchFields.AddRange(new string[] { "NAME" }); //查找的欄位范圍
findParameters.ReturnGeometry = true;
findParameters.SearchText = FindTextBox.Text; //查找的「屬性值」
//設置查詢的LayerDefinitions
ESRI.ArcGIS.Client.LayerDefinition myDefinition = new ESRI.ArcGIS.Client.LayerDefinition();
myDefinition.LayerID = 3;
//設置LayerDefinition,屬性欄位「Name」屬於ID為0的圖層
//LayerDefinition的設置語句和Query中的Where語句一樣
myDefinition.Definition = "NAME = 'XXX'";
//創建一個ObservableCollection,add設置的LayerDefinition
System.Collections.ObjectModel.ObservableCollection<LayerDefinition> myObservableCollection =
new System.Collections.ObjectModel.ObservableCollection<LayerDefinition>();
myObservableCollection.Add(myDefinition);
findParameters.LayerDefinitions = myObservableCollection; //設置查詢的LayerDefinitions
//非同步執行
findTask.ExecuteAsync(findParameters);
3、IdentifyTask:是一個在地圖服務中識別要素(Feature)的功能類。通過IdentifyTask可以搜索地圖層中與輸入幾何形相交的要素(search the layers in a map for features that intersect an input geometry)。因為也是在多個圖層中查詢,所以Task的URL是動態圖層服務的地址。同樣,返回的要素都可以作為Graphic被添加到地圖的GraphicsLayer上。
基本過程如下:
//新建一個Identify task
IdentifyTask identifyTask = new IdentifyTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer");
//非同步執行,綁定事件
identifyTask.ExecuteCompleted += IdentifyTask_ExecuteCompleted;
identifyTask.Failed += IdentifyTask_Failed;
//初始化 Identify parameters
IdentifyParameters identifyParameters = new IdentifyParameters();
identifyParameters.LayerOption = LayerOption.all;
//傳遞地圖屬性給 identify parameters
identifyParameters.MapExtent = MyMap.Extent;
identifyParameters.Width = (int)MyMap.ActualWidth;
identifyParameters.Height = (int)MyMap.ActualHeight;
//輸入的幾何參數為一個點,args來自點擊事件
identifyParameters.Geometry = args.MapPoint; //Point Envelop Extent polyline polygon
//設置查詢的LayerDefinitions
ESRI.ArcGIS.Client.LayerDefinition myDefinition = new ESRI.ArcGIS.Client.LayerDefinition();
myDefinition.LayerID = 3;
//設置LayerDefinition,屬性欄位「Name」屬於ID為0的圖層
//LayerDefinition的設置語句和Query中的Where語句一樣
myDefinition.Definition = "NAME = 'XXX'";
//創建一個ObservableCollection,add設置的LayerDefinition
System.Collections.ObjectModel.ObservableCollection<LayerDefinition> myObservableCollection =
new System.Collections.ObjectModel.ObservableCollection<LayerDefinition>();
myObservableCollection.Add(myDefinition);
identifyParameters.LayerDefinitions = myObservableCollection; //設置查詢的LayerDefinitions
//非同步執行
identifyTask.ExecuteAsync(identifyParameters);
三種查詢的返回結果:
QueryTask:返回的是一個FeatureSet。Featureset.features[i]可以加入到GraphicsLayer上顯示,也可以通過Attributes屬性欄位得到屬性信息。
FindTask:返回的是一個FindResults數組, FindResults[i].feature可以加入到GraphicsLayer上顯示,也可以通過Attributes屬性欄位得到屬性信息。
IdentifyTask:返回的是一個IdentifyResults數組,IdentifyResults[i].feature可以加入到GraphicsLayer上顯示,也可以通過Attributes屬性欄位得到屬性信息。
Ⅲ arcgis for android 添加圖層並渲染有幾種方式
那說的應該不是圖層layer吧,可能是要素層,打開Arc Catalog10,在Catalog中定位到你的文件夾,如果看不到的話,需要點擊帶加號的文件夾圖標進行添加,左側選中文件夾後,在右側的窗口右鍵滑鼠,選擇New(新建)-然後選擇shapefile,創建的時候就可以設置新的shp文件的名稱和類型(點、線、面point line polygon)以及坐標系統等,確定後雙擊,彈出屬性窗口可以添加欄位;然後把這個文件拖到ArcMap中,新的圖層就添加完成了;若果是採用Geodatabase的話,也是類似的。
Ⅳ arcgis如何設置地圖不可拖動
1、首先,在電腦中打開arcgis軟體。開始編輯數據,點擊工具欄中的編輯折點,如圖。
Ⅳ Arcgis10.2中如何設置柵格圖層載入進來的默認顏色表
Ⅵ arcmap10.2如何捕捉指定圖層
執行完1樓(lzljy72)的操作後,在打開的「捕捉環境」窗口中,僅勾選所需捕捉圖層後的各類復選框(折點、邊、端點)。並可通過拖放各圖層在列表中的順序,來確定捕捉優先順序。
Ⅶ arcmap中添加的兩個圖層,怎樣把一個圖層屬性表中的屬性值賦到另一個圖層
空間連接也可以啊,如果兩個圖層的圖形,在我們看來是重疊的,或者有交集,就可以用這個。屬性連接,必須有一一對應的欄位,比如兩個屬性表都有廣東省、海南省這樣的明確區分。
Ⅷ arcgis怎樣設置圖層透明度
在ArcMap中打開地圖後,如果要將圖層1設為透明,並將圖層1覆蓋於圖層2上,則首先可將圖層1拖動至圖層2上。
然後,單擊主菜單欄中的View菜單,依次選擇ToolBar---effects,之後將彈出如下工具條:
單擊Layer項下拉箭頭,選擇圖層1,然後單擊AdjustTransparency按鈕,拖動滾動條,該圖層1的透明度就隨之改變。
Ⅸ 華為手機無法調節arcgis圖層透明度
gis圖層的圖明度時,透明度小於1圖層就不顯示,