0
我有一個應用程序,其特徵圖層和圖形圖層沒有相同的空間參考(即102110和4326)。 我的地圖與我的要素圖層具有相同的空間參考(102110)。 我無法將我的圖形圖層(4326)的空間參考轉換爲我的地圖和要素圖層中的一個。 你有什麼想法來幫助我嗎? 謝謝。JS的Arcgis API:更改圖形圖層的空間參考
我有一個應用程序,其特徵圖層和圖形圖層沒有相同的空間參考(即102110和4326)。 我的地圖與我的要素圖層具有相同的空間參考(102110)。 我無法將我的圖形圖層(4326)的空間參考轉換爲我的地圖和要素圖層中的一個。 你有什麼想法來幫助我嗎? 謝謝。JS的Arcgis API:更改圖形圖層的空間參考
GraphicsLayer
或FeatureLayer
其中沒有任何SpatialReference
信息。空間參考是幾何/圖形對象和地圖的一部分。
FeatureLayer的的SpatialReference地圖匹配:
當請求的功能從服務做,地圖的空間 參考將包括它告訴服務重新計劃將它們發送到前 功能客戶端。
而GraphicsLayer
完全維持在應用程序內。在地圖上添加圖形之前,開發人員需要確保投影匹配。要更改投影系統,您可以使用GeometryService
,下面是一個示例。
require(["dojo/_base/array", "esri/tasks/GeometryService", "esri/tasks/ProjectParameters", "esri/SpatialReference"], function(GeometryService, ProjectParameters, array) {
var geometries = array.map(graphicsLayer.graphics, function(graphic){
return graphic.geometry;
});
var gsvc = new GeometryService("https://utility.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer");
var outSR = new SpatialReference({wkid:102110});
var params = new ProjectParameters();
params.geometries = geometries ;
params.outSR = outSR;
params.transformation = transformation;
gsvc.project(params, function(projectedGeometries){
for(var i = 0; i < projectedGeometries.length;i++){
graphicsLayer.graphics[i].setGeometry(projectedGeometries[i]);
}
});
});