如何在 iOS 应用程序中通过 proxy.ashx 加载 Arcgis 地图?
how to load Arcgis map via proxy.ashx in iOS application?
我正在开发 iOS 应用程序,该应用程序使用 AGSRuntime 环境 API iOS 通过名为 [=23] 的 .Net 代理加载地图图层(动态图层和要素图层) =]。如以下代码行:
NSString *MAPServiceURL = @"https://myDomain/sourceCodePath/proxy.ashx?http://my_ArcGis_Server/arcgis/rest/services/MapService/MapServer/"
NSString *FeatureLayerURL = @"https://myDomain/sourceCodePath/proxy.ashx?http://my_ArcGis_Server/arcgis/rest/services/MapService/MapServer/0"
self.dynamicLayer = [AGSDynamicMapServiceLayer dynamicMapServiceLayerWithURL:[NSURL URLWithString:MAPServiceURL]];
self.featureLayer = [[AGSFeatureLayer alloc] initWithURL:[NSURL URLWithString:FeatureLayerURL] mode:AGSFeatureLayerModeSnapshot];
我的问题是动态层没有出现。 iOS 应用端没有发生错误。
在 proxy.ashx 端,它将请求和 returns 响应(OK 200)重定向为 HTML 页面。
注意:在 Web 应用程序中成功加载的同一张地图通过相同的 "proxy.ashx".
使用 AGSRuntime Environment API for JavaScript
那么,我的错误是什么?
我发现当应用程序在 POST 中请求时,NSURLConnection
将从 URL 中删除不需要的参数(?
之后的所有内容,因为它是 GET 参数)。所以你可以尝试在没有代理的情况下设置地图服务URL URL.
NSString *mapServiceURL = @"http://my_ArcGis_Server/arcgis/rest/services/MapService/MapServer/";
或者,如果您不想将 ArcGIS 服务器设置为 public 域,则可以使用 ArcGIS Web Adaptor public 访问您的 Intranet ArcGIS 服务器。
我正在开发 iOS 应用程序,该应用程序使用 AGSRuntime 环境 API iOS 通过名为 [=23] 的 .Net 代理加载地图图层(动态图层和要素图层) =]。如以下代码行:
NSString *MAPServiceURL = @"https://myDomain/sourceCodePath/proxy.ashx?http://my_ArcGis_Server/arcgis/rest/services/MapService/MapServer/"
NSString *FeatureLayerURL = @"https://myDomain/sourceCodePath/proxy.ashx?http://my_ArcGis_Server/arcgis/rest/services/MapService/MapServer/0"
self.dynamicLayer = [AGSDynamicMapServiceLayer dynamicMapServiceLayerWithURL:[NSURL URLWithString:MAPServiceURL]];
self.featureLayer = [[AGSFeatureLayer alloc] initWithURL:[NSURL URLWithString:FeatureLayerURL] mode:AGSFeatureLayerModeSnapshot];
我的问题是动态层没有出现。 iOS 应用端没有发生错误。
在 proxy.ashx 端,它将请求和 returns 响应(OK 200)重定向为 HTML 页面。
注意:在 Web 应用程序中成功加载的同一张地图通过相同的 "proxy.ashx".
使用 AGSRuntime Environment API for JavaScript那么,我的错误是什么?
我发现当应用程序在 POST 中请求时,NSURLConnection
将从 URL 中删除不需要的参数(?
之后的所有内容,因为它是 GET 参数)。所以你可以尝试在没有代理的情况下设置地图服务URL URL.
NSString *mapServiceURL = @"http://my_ArcGis_Server/arcgis/rest/services/MapService/MapServer/";
或者,如果您不想将 ArcGIS 服务器设置为 public 域,则可以使用 ArcGIS Web Adaptor public 访问您的 Intranet ArcGIS 服务器。