开发者社区> 暖枫无敌> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

ArcGIS API for Silverlight加载BingMap遥感地图

简介: ...
+关注继续查看
<UserControl x:Class="BingMap.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    xmlns:esri="http://schemas.esri.com/arcgis/client/2009"
    xmlns:bing="clr-namespace:ESRI.ArcGIS.Client.Bing;assembly=ESRI.ArcGIS.Client.Bing" d:DesignWidth="718" Loaded="UserControl_Loaded">

    <Grid x:Name="LayoutRoot" Background="White">
        <esri:Map x:Name="MyMap" IsLogoVisible="False" WrapAround="True" Extent="13628957,3439071,12638037,3572727"/>
        <Border BorderBrush="#FF748ECC" BorderThickness="2" Height="61" Margin="0,26,8,0" VerticalAlignment="Top" HorizontalAlignment="Right" Width="120" CornerRadius="5" Background="#FF024BFF" Canvas.ZIndex="2">
            <Grid Margin="6,0,15,6">
                <Border HorizontalAlignment="Center" Margin="0,0,0,20" Width="68">
                    <HyperlinkButton x:Name="hlb1" Content="卫星地图" FontSize="16" FontWeight="Bold" Foreground="Red" Height="25" VerticalAlignment="Bottom" Click="hlb1_Click"/>
                </Border>
                <Border HorizontalAlignment="Center" Height="25" Margin="0,0,0,-5" VerticalAlignment="Bottom" Width="68" >
                    <HyperlinkButton x:Name="hlb2" Content="遥测分析" FontSize="16" FontWeight="Bold" Foreground="White" Click="hlb2_Click"/>
                </Border>
            </Grid>
        </Border>
        <Image x:Name="Image1" Source="Images/yc2.jpg" Cursor="Hand" Margin="0" Stretch="UniformToFill"/>
        <!--<esri:Attribution Layers="{Binding Layers, ElementName=myMap}" Margin="10" VerticalAlignment="Top" />-->
    </Grid>
</UserControl>

<!--13628957,3439071,12638037,3572727-->

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Json;
using ESRI.ArcGIS.Client.Bing;
using ESRI.ArcGIS.Client;
using ESRI.ArcGIS.Client.Geometry;
using System.Windows.Media.Imaging;

namespace BingMap
{
    public partial class MainPage : UserControl
    {
        public string bingToken = "AkzZURoD0H2Sle6Nq_DE7pm7F3xOc8S3CjDTGNWkz1EFlJJkcwDKT1KcNcmYVINU";
        public MainPage()
        {
            InitializeComponent();
            this.Image1.Visibility = Visibility.Collapsed;
        }

        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            WebClient webClient = new WebClient();
            string uri = string.Format("http://dev.virtualearth.net/REST/v1/Imagery/Metadata/Aerial?supressStatus=true&key={0}", bingToken);

            webClient.OpenReadCompleted += (s, a) =>
            {
                if (a.Error == null)
                {
                    JsonValue jsonResponse = JsonObject.Load(a.Result);
                    string authenticationResult = jsonResponse["authenticationResultCode"];
                    a.Result.Close();

                    if (authenticationResult == "ValidCredentials")
                    {
                        ESRI.ArcGIS.Client.Bing.TileLayer tileLayer = new TileLayer()
                        {
                            ID = "BingLayer",
                            LayerStyle = TileLayer.LayerType.AerialWithLabels,
                            ServerType = ServerType.Production,
                            Token = bingToken
                        };
                        MyMap.Layers.Add(tileLayer);
                    }
                }
            };
            webClient.OpenReadAsync(new System.Uri(uri));
        }

        private void hlb1_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            // 默认显示的是卫星地图,此时遥感图不显示,并且遥感地图字体显示白色
            this.MyMap.Visibility = Visibility.Visible;
            this.Image1.Visibility = Visibility.Collapsed;
            this.hlb1.Foreground = new SolidColorBrush(Colors.Red);
            this.hlb2.Foreground = new SolidColorBrush(Colors.White);
        }

        private void hlb2_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            // 遥感图显示,卫星地图不显示
            this.MyMap.Visibility = Visibility.Collapsed;
            this.Image1.Visibility = Visibility.Visible;
            this.hlb1.Foreground = new SolidColorBrush(Colors.White);
            this.hlb2.Foreground = new SolidColorBrush(Colors.Red);
        }
    }
}


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
关于ArcGIS Rest API
ArcGIS Rest API:     9.3版本: http://resources.esri.com/help/9.3/arcgisserver/apis/rest/index.html     10版本:http://help.arcgis.com/en/arcgisserver/10.0/apis/rest/index.html ArcGIS Rest API 相当于对ArcGIS SOAP API的加上一层封装,即Rest Services是基于SOAP Services的,一般粗略的可以理解为SOAP Services 就是Web Services。
875 0
【ASP.NET Web API教程】2 创建各种Web API
原文 【ASP.NET Web API教程】2 创建各种Web API Chapter 2: Creating Web APIs第2章 创建各种Web API 本文引自:http://www.asp.net/web-api/overview/creating-web-apis In this chapter, you'll learn:本章你将学习: End-to-end tutorials and samples for ASP.NET Web APIASP.NET Web API的端对端教程和示例。
1037 0
【ASP.NET Web API教程】2.3 与实体框架一起使用Web API
原文:【ASP.NET Web API教程】2.3 与实体框架一起使用Web API 2.3 Using Web API with Entity Framework 2.3 与实体框架一起使用Web API 本小节是ASP.NET Web API第2章的第3小节,原文共分为7个部分,分成了7篇文章,故这里也分为7个帖子贴出,以下是本小节的第1部分 — 译者注。
1225 0
【ASP.NET Web API教程】2.3.2 创建域模型
原文:【ASP.NET Web API教程】2.3.2 创建域模型 Part 2: Creating the Domain Models 第2部分:创建域模型 本文引自:http://www.asp.
1115 0
【ASP.NET Web API教程】2.3.3 创建Admin控制器
原文:【ASP.NET Web API教程】2.3.3 创建Admin控制器 注:本文是【ASP.NET Web API系列教程】的一部分,如果您是第一次看本博客文章,请先看前面的内容。 Part 3: Creating an Admin Controller 第3部分:创建Admin控制器 本文引自:http://www.
786 0
【ASP.NET Web API教程】2.3.4 创建Admin视图
原文:【ASP.NET Web API教程】2.3.4 创建Admin视图 注:本文是【ASP.NET Web API系列教程】的一部分,如果您是第一次看本博客文章,请先看前面的内容。 Part 4: Adding an Admin View 第4部分:添加Admin视图 本文引自:http://www.
835 0
【ASP.NET Web API教程】2.3.5 用Knockout.js创建动态UI
原文:【ASP.NET Web API教程】2.3.5 用Knockout.js创建动态UI 注:本文是【ASP.NET Web API系列教程】的一部分,如果您是第一次看本博客文章,请先看前面的内容。
866 0
【ASP.NET Web API教程】2.3.6 创建产品和订单控制器
原文:【ASP.NET Web API教程】2.3.6 创建产品和订单控制器 注:本文是【ASP.NET Web API系列教程】的一部分,如果您是第一次看本博客文章,请先看前面的内容。 Part 6: Creating Product and Order Controllers 第6部分:创建产品和订单控制器 本文引自:http://www.
726 0
【ASP.NET Web API教程】2.3.7 创建首页
原文:【ASP.NET Web API教程】2.3.7 创建首页 注:本文是【ASP.NET Web API系列教程】的一部分,如果您是第一次看本博客文章,请先看前面的内容。 Part 7: Creating the Main Page 第7部分:创建首页 本文引自:http://www.
1120 0
ASP.NET Web API(二):安全验证之使用HTTP基本认证
在前一篇文章ASP.NET Web API(一):使用初探,GET和POST数据中,我们初步接触了微软的REST API: Web API。 我们在接触了Web API的后就立马发现了有安全验证的需求,所以这篇文章我们先来讨论下安全验证一个最简单的方法:使用HTTP基本认证。
881 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
PWA:移动Web的现在与未来
立即下载
API 平台的安全实践
立即下载
ACE 区域技术发展峰会:Flink Python Table API入门及实践
立即下载