ArcGIS API for Silverlight 載入google地圖

來源:互聯網
上載者:User

 

using System;using System.Net;using System.Windows;using System.Windows.Controls;using System.Windows.Documents;using System.Windows.Ink;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Animation;using System.Windows.Shapes;namespace Syit.CommonClass{    public static class ColorRevert    {        #region 色彩轉換        public static Color ToColor(this string colorName)        {            if (colorName.StartsWith("#"))                colorName = colorName.Replace("#", string.Empty);            int v = int.Parse(colorName, System.Globalization.NumberStyles.HexNumber);            return new Color()            {                A = Convert.ToByte((v >> 24) & 255),                R = Convert.ToByte((v >> 16) & 255),                G = Convert.ToByte((v >> 8) & 255),                B = Convert.ToByte((v >> 0) & 255)            };        }        public static int ToArgb(this Color color)        {            int argb = color.A << 24;            argb += color.R << 16;            argb += color.G << 8;            argb += color.B;            return argb;        }        #endregion    }}

 

 private void btography_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)        {            e.Handled = true;        }        private void btography_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)        {            //設定背景顏色            this.rect1.Stroke = new SolidColorBrush(ColorRevert.ToColor("#FFF29536"));            this.rect2.Stroke = new SolidColorBrush(ColorRevert.ToColor("#FF7392BD"));            this.rect3.Stroke = new SolidColorBrush(ColorRevert.ToColor("#FF7392BD"));            setSelectedLinearGradientBrush(rect1);            setUnSelectedLinearGradientBrush(rect2);            setUnSelectedLinearGradientBrush(rect3);            //設定地圖顯示與隱藏            topographyLayer.Visible = true; //google地形圖            roadLayer.Visible = false; //google交通圖            sateliateLayer.Visible = false; //google衛星圖            sateliateTextLayer.Visible = false; //google衛星圖文字        }        private void broad_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)        {            e.Handled = true;        }        private void broad_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)        {            //設定背景顏色            this.rect1.Stroke = new SolidColorBrush(ColorRevert.ToColor("#FF7392BD"));            this.rect2.Stroke = new SolidColorBrush(ColorRevert.ToColor("#FFF29536"));            this.rect3.Stroke = new SolidColorBrush(ColorRevert.ToColor("#FF7392BD"));            setUnSelectedLinearGradientBrush(rect1);            setSelectedLinearGradientBrush(rect2);            setUnSelectedLinearGradientBrush(rect3);            //設定地圖顯示與隱藏            topographyLayer.Visible = false; //google地形圖            roadLayer.Visible = true; //google交通圖            sateliateLayer.Visible = false; //google衛星圖            sateliateTextLayer.Visible = false; //google衛星圖文字        }        private void bsateliate_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)        {            e.Handled = true;        }        private void bsateliate_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)        {            //設定背景顏色            this.rect1.Stroke = new SolidColorBrush(ColorRevert.ToColor("#FF7392BD"));            this.rect2.Stroke = new SolidColorBrush(ColorRevert.ToColor("#FF7392BD"));            this.rect3.Stroke = new SolidColorBrush(ColorRevert.ToColor("#FFF29536"));            setUnSelectedLinearGradientBrush(rect1);            setUnSelectedLinearGradientBrush(rect2);            setSelectedLinearGradientBrush(rect3);            //設定地圖顯示與隱藏            topographyLayer.Visible = false; //google地形圖            roadLayer.Visible = false; //google交通圖            sateliateLayer.Visible = true; //google衛星圖            sateliateTextLayer.Visible = true; //google衛星圖文字        }        //選中狀態        public void setSelectedLinearGradientBrush(Rectangle rect)        {            //設定stroke值            rect.Stroke = new SolidColorBrush(ColorRevert.ToColor("#FFF29536"));            //設定漸層色            GradientStop gs = new GradientStop();            gs.Offset = 0.0;            gs.Color = ColorRevert.ToColor("#FFFDF6DF");            GradientStop gs1 = new GradientStop();            gs1.Offset = 1.0;            gs1.Color = Colors.White;            GradientStop gs2 = new GradientStop();            gs2.Offset = 0.5;            gs2.Color = ColorRevert.ToColor("#FFF9E8B2");            GradientStop gs3 = new GradientStop();            gs3.Offset = 0.5;            gs3.Color = ColorRevert.ToColor("#FFFFD75D");            LinearGradientBrush lgb = new LinearGradientBrush();            lgb.StartPoint = new Point(0.5, 0);            lgb.EndPoint = new Point(0.5, 1);            lgb.GradientStops.Add(gs);            lgb.GradientStops.Add(gs1);            lgb.GradientStops.Add(gs2);            lgb.GradientStops.Add(gs3);            rect.Fill = lgb;        }        //未選中狀態        public void setUnSelectedLinearGradientBrush(Rectangle rect)        {            //設定stroke值            rect.Stroke = new SolidColorBrush(ColorRevert.ToColor("#FF7392BD"));            //設定漸層色            GradientStop gs = new GradientStop();            gs.Offset = 0.0;            gs.Color = ColorRevert.ToColor("#FFF5F6FB");            GradientStop gs1 = new GradientStop();            gs1.Offset = 1.0;            gs1.Color = ColorRevert.ToColor("#FFE6EDFC");            GradientStop gs2 = new GradientStop();            gs2.Offset = 0.5;            gs2.Color = ColorRevert.ToColor("#FFE6EBF5");            GradientStop gs3 = new GradientStop();            gs3.Offset = 0.5;            gs3.Color = ColorRevert.ToColor("#FFD7E3F7");            LinearGradientBrush lgb = new LinearGradientBrush();            lgb.StartPoint = new Point(0.5, 0);            lgb.EndPoint = new Point(0.5, 1);            lgb.GradientStops.Add(gs);            lgb.GradientStops.Add(gs1);            lgb.GradientStops.Add(gs2);            lgb.GradientStops.Add(gs3);            rect.Fill = lgb;        }

 

<Border HorizontalAlignment="Left" Margin="50,5,0,0" Width="230" BorderThickness="1" CornerRadius="5" VerticalAlignment="Top">            <Border.Effect>                <DropShadowEffect Direction="-90" Color="#FF4D4D4D" ShadowDepth="4"/>            </Border.Effect>            <Border.Background>                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">                    <GradientStop Color="#FFDDF1FD" Offset="0"/>                    <GradientStop Color="#FFCAE9FC" Offset="1"/>                </LinearGradientBrush>            </Border.Background>            <Grid HorizontalAlignment="Left" Width="229">                <Border x:Name="btography" HorizontalAlignment="Left" Margin="16,4,0,4" Width="64" MouseLeftButtonDown="btography_MouseLeftButtonDown" MouseLeftButtonUp="btography_MouseLeftButtonUp">                    <Grid>                        <Rectangle Stroke="#FFF29536" RadiusX="1" RadiusY="1" x:Name ="rect1">                            <Rectangle.Fill>                                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">                                    <GradientStop Color="#FFFDF6DF" Offset="0"/>                                    <GradientStop Color="White" Offset="1"/>                                    <GradientStop Color="#FFF9E8B2" Offset="0.5"/>                                    <GradientStop Color="#FFFFD75D" Offset="0.5"/>                                </LinearGradientBrush>                            </Rectangle.Fill>                        </Rectangle>                        <TextBlock Margin="16,6,13,2" TextWrapping="Wrap" Text="地形" Foreground="#FF0B333C" FontWeight="Bold" FontSize="14.667" FontFamily="SimSun"/>                    </Grid>                </Border>                <Border x:Name="broad" Margin="84,4,81,4" MouseLeftButtonDown="broad_MouseLeftButtonDown" MouseLeftButtonUp="broad_MouseLeftButtonUp">                    <Grid>                        <Rectangle Stroke="#FF7392BD" RadiusX="1" RadiusY="1" x:Name ="rect2">                            <Rectangle.Fill>                                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">                                    <GradientStop Color="#FFF5F6FB" Offset="0"/>                                    <GradientStop Color="#FFE6EDFC" Offset="1"/>                                    <GradientStop Color="#FFE6EBF5" Offset="0.5"/>                                    <GradientStop Color="#FFD7E3F7" Offset="0.5"/>                                </LinearGradientBrush>                            </Rectangle.Fill>                        </Rectangle>                        <TextBlock Margin="17,6,11,2" TextWrapping="Wrap" Text="街道" Foreground="#FF0B333C" FontWeight="Bold" FontSize="14.667" FontFamily="SimSun"/>                    </Grid>                </Border>                <Border x:Name="bsateliate" HorizontalAlignment="Right" Margin="0,4,14,4" Width="64" MouseLeftButtonDown="bsateliate_MouseLeftButtonDown" MouseLeftButtonUp="bsateliate_MouseLeftButtonUp">                    <Grid>                        <Rectangle Stroke="#FF7392BD" RadiusX="1" RadiusY="1" x:Name ="rect3">                            <Rectangle.Fill>                                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">                                    <GradientStop Color="#FFF5F6FB" Offset="0"/>                                    <GradientStop Color="#FFE6EDFC" Offset="1"/>                                    <GradientStop Color="#FFE6EBF5" Offset="0.5"/>                                    <GradientStop Color="#FFD7E3F7" Offset="0.5"/>                                </LinearGradientBrush>                            </Rectangle.Fill>                        </Rectangle>                        <TextBlock Margin="18,6,12,2" TextWrapping="Wrap" Text="影像" Foreground="#FF0B333C" FontWeight="Bold" FontSize="14.667" FontFamily="SimSun"/>                    </Grid>                </Border>            </Grid>        </Border>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.