ArcGIS API for Silverlight 加载google地图
原文:ArcGIS API for Silverlight 加载google地图
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>
ArcGIS API for Silverlight 加载google地图的更多相关文章
- ArcGIS API for Silverlight加载google地图(后续篇)
原文:ArcGIS API for Silverlight加载google地图(后续篇) 之前在博客中(http://blog.csdn.net/taomanman/article/details/8 ...
- Arcgis api For silverlight 加载QQ地图
原文 http://www.cnblogs.com/thinkaspx/archive/2012/11/07/2759079.html //本篇博客仅在技术上探讨可行性 //如果要使用Q 地图,请 ...
- Arcgis api For silverlight 加载高德地图
原文 http://www.cnblogs.com/thinkaspx/archive/2012/11/13/2767752.html 地图仅供演示,研究使用.如要商用 请联系厂商. public c ...
- 解决ArcGIS API for Silverlight 加载地图的内外网访问问题
原文:解决ArcGIS API for Silverlight 加载地图的内外网访问问题 先上一个类,如下: public class BaseClass { public static string ...
- ARCGIS FLEX API加载google地图、百度地图、天地图(转)
http://www.cnblogs.com/chenyuming507950417/ Flex加载google地图.百度地图以及天地图作底图 一 Flex加载Google地图作底图 (1)帮助类G ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(13)、图层扩展方式加载Google地图
1.前言 http://mt2.google.cn/vt/lyrs=m@225000000&hl=zh-CN&gl=cn&x=420&y=193&z=9& ...
- ArcGIS api for javascript——加载查询结果,悬停显示信息窗口
转自原文 ArcGIS api for javascript——加载查询结果,悬停显示信息窗口 描述 本例在开始和地图交互前执行一个查询任务并加在查询结果.这允许用户鼠标悬停在任意郡县时立即见到Inf ...
- Flex加载google地图、百度地图以及天地图作底图
一 Flex加载Google地图作底图 (1)帮助类GoogleLayer.as /* * 根据输入的地图类型加载Google地图(by chenyuming) */ package Layers ...
- ArcGIS API for Javascript 加载天地图(经纬度投影)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
随机推荐
- AngularJS 表单提交后显示验证信息与失焦后显示验证信息
虽然说AngularJS的实时表单验证非常有用,非常高效方便,但是当用户还没有完成输入时便弹出一个错误提示,这种体验是非常糟糕的. 正常的表单验证逻辑应该是在用户提交表单后或完成当前字段中的输入后,再 ...
- BZOJ2862 : 分糖果
二分答案$x$表示最大的一段的和. 设$f[i]$表示前$i$个最多分几段,满足最大的一段不超过$x$,若$f[n]\geq k$,则可行, 则$f[i]=\max(f[j])+1,sum[i]-su ...
- 策略模式c++【转】
作用:定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户. UML图: Strategy模式将逻辑(算法)封装到一个类(Context)里面,通过组合的 ...
- 【BZOJ】1270: [BeijingWc2008]雷涛的小猫(DP+水题)
http://www.lydsy.com/JudgeOnline/problem.php?id=1270 这完全是一眼题啊,但是n^2的时间挺感人.(n^2一下的级别请大神们赐教,我还没学多少dp优化 ...
- POJ 3335 Rotating Scoreboard(多边形的核)
题目链接 我看的这里:http://www.cnblogs.com/ka200812/archive/2012/01/20/2328316.html 然后整理一下当做模版.0换成eps,会wa,应该要 ...
- maven工程代码关联源代码配置
最近在学习dubbo,在maven构建完成后,需要关联查看一些依赖jar的源码,配置很简单,如下: 勾选windows-Preferences-Maven- Download Artifact Sou ...
- SecureCrt自动化
Crt自动化 测试 SecureCrt脚本 JS脚本 引言 软件介绍 脚本介绍 引言 在嵌入式公司中,面对大量的网络设备,不论开发同事进行设备开发.测试同事进行大量测试工作还是运维人员进行大量设备 ...
- JAVA图片处理--缩放,切割,类型转换
import java.io.*; import java.awt.*; import java.awt.image.*; import java.awt.Graphics; import java. ...
- [译]- 6-1 排列窗体上的控件(Laying Out Widgets on a Form)
排列窗体上的控件(Laying Out Widgets on a Form) 中英文对照:form(窗体),layout(布局或者排列,意思是进行窗体上控件的排列的过程,如大小位置等) absolu ...
- VBS发送邮件-1
Set objMail = Server.CreateObject("CDO.Message") Set objCDOSYSCon = Server.CreateObject(&q ...