解决ArcGIS API for Silverlight 加载地图的内外网访问问题

简介: 先上一个类,如下:public class BaseClass{ public static string getFullUri(string oldUriString)...

先上一个类,如下:


public class BaseClass
{
        public static string getFullUri(string oldUriString)
        {
            string newUriString = oldUriString;
            //处理相对地址============================================================
            if (newUriString[0] == '/')
            {
                string shost = System.Windows.Browser.HtmlPage.Document.DocumentUri.Host;
                int sport = System.Windows.Browser.HtmlPage.Document.DocumentUri.Port;
                newUriString = "http://" + shost + (sport == 80 ? "" : ":" + sport.ToString()) + newUriString;
            }


            if (!newUriString.StartsWith("http"))
            {
                string shost = System.Windows.Browser.HtmlPage.Document.DocumentUri.Host;
                int sport = System.Windows.Browser.HtmlPage.Document.DocumentUri.Port;
                string slocal = System.Windows.Browser.HtmlPage.Document.DocumentUri.LocalPath;
                slocal = slocal.Substring(0, slocal.LastIndexOf('/'));
                Uri turi = new Uri("http://" + shost + (sport == 80 ? "" : ":" + sport.ToString()) + slocal + "/" + newUriString, UriKind.Absolute);
                newUriString = turi.ToString();
            }
            return newUriString;
        }
   }
 
 <esri:Map>
       <esri:Map.Layers>
                <esri:ArcGISTiledMapServiceLayer ID="BaseLayer" Url="/arcgis/rest/services/HSDQ/MapServer/"/>
       </esri:Map.Layers>
 </esri:Map>
 

 public MainPage()
 {
      InitializeComponent();
      ArcGISTiledMapServiceLayer layer = myMap.Layers["BaseLayer"] as ArcGISTiledMapServiceLayer;
      layer.Url = BaseClass.getFullUri(layer.Url);
}



这样就可以解决内网IP地址访问和外网IP地址同样访问的问题。

相关文章
|
7月前
|
人工智能 NoSQL 定位技术
标准地图的矢量模板,ArcGIS可打开
标准地图的矢量模板,ArcGIS可打开
95 0
|
3天前
|
人工智能 编解码 定位技术
ArcGIS导出AI或EPS格式的地图图片并在Adobe Illustrator中继续编辑
ArcGIS导出AI或EPS格式的地图图片并在Adobe Illustrator中继续编辑
116 1
|
3天前
|
存储 定位技术
ArcGIS中ArcMap导入mxd地图文档文件出现红色感叹号、地图空白的解决
ArcGIS中ArcMap导入mxd地图文档文件出现红色感叹号、地图空白的解决
|
3天前
|
编解码 定位技术 Python
Python中ArcPy实现ArcGIS自动批量制图与地图要素批量设置
Python中ArcPy实现ArcGIS自动批量制图与地图要素批量设置
|
10月前
|
定位技术
ArcGIS:地图单位和视图单位(显示单位)的区别?
ArcGIS:地图单位和视图单位(显示单位)的区别?
109 0
|
7月前
|
人工智能 数据可视化 API
ArcGIS API for Python
ArcGIS API for Python
35 0
|
11月前
|
JavaScript 前端开发 应用服务中间件
Arcgis api for javascript 详细部署
Arcgis api for javascript 详细部署
|
人工智能 数据可视化 数据管理
ArcGIS API for Python
ArcGIS API for Python
79 0
|
JavaScript 前端开发 定位技术
ArcGIS API For JavaScript官方文档(六)之设置范围
ArcGIS API For JavaScript官方文档(六)之设置范围
|
存储 JSON 前端开发
ArcGIS API For JavaScript官方文档(一)之默认API配置
ArcGIS API For JavaScript官方文档(一)之默认API配置

热门文章

最新文章