`
terryfeng
  • 浏览: 504900 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

介绍开源Silverlight地图控件DeepEarth[转自ET瓦里]

阅读更多

DeepEarth是一个地图控件,它将微软的Virtual Earth与Silverlight 2.0联合起来。该开源项目由其创建者(一群.NET的狂热爱好者)在CodePlex上发布。

根据该项目创建者所述:

DeepEarth是一个地图控件,它将微软的Silverlight 2.0平台和DeepZoom(MuliScaleImage)控件联合起来。其核心构建在这些创新的技术上以提供这样一种架构:可以将服务层、数据提供者以及你自己的客户化地图元素集成到富于表现力的用户体验中。同时它还有一些深入的示例说明了如何使用Virtual Earth Web Services以充分利用高级GIS的服务功能。通过以上这些,你就可以将一个交互式、本地的Silverlight 2.0地图集成到你的应用中了。

一些主要特性列举如下:

  • 通过属性和事件模型实现的完整的地图控件
  • 地图导航控件的完整模板集
  • 用来包含Points、LineStrings及Polygons(OGS)的层
  • 用来实现地理到屏幕坐标系统的变换库
  • Geocoding(发现地址)
  • 相反的Geocoding(从地图上的点来获得地址)
  • 路由(Directions)
  • 变化选择(默认是按住Ctrl键并拖动或从菜单中选择) 
  • 地图旋转

要想赶上Google Earth,DeepEarth还有很长的路要走,因为Google Earth提供了某些区域的3D视图,这使得用户可以跨越建筑进行查看,同时还有很多其他特性,如通过灯光和阴影来模拟阳光下的真实视图。

该项目基于Microsoft Public License(Ms-PL)

有用的链接:可用的示例源代码YouTub上的示例视频

 

DeepEarth是一个结合了Silverlight2.0技术和DeepZoom技术的地图控件,可以实现平滑的无极缩放(当然不是真正意义的无极,呵呵)地图操作,DeepEarth目前是一个基于Microsoft Public License (Ms-PL) 微软的开放许可协议的开源项目,DeepEarth支持Virtual Earth Web Service,地图坐标查找(根据坐标查找街道),坐标反向查找(根据街道查找坐标)等等。
Demo网站 Demo视频 Wiki帮助

下面我们来简单的做个实验。
先到这里下载最新的Bin文件: http://deepearth.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=21654
然后打开VS2008创建一个Silverlight的工程DeepEarthDemo,工程会创建一个DeepEarthDemo项目和DeepEarthDemo.Web项目,如下所示:
DeepEarth工程文件
然后右键点击References添加刚才下载的bin文件,DeepEarth.dll, DeepEarth.Provider.dll和DeepEarth.Provider.VirtualEarth(如果需要用到VE的地图的话)。
添加References到DeepEarth
打开Page.xaml添加如下namespace定义

   xmlns:DeepEarth="clr-namespace:DeepEarth;assembly=DeepEarth"
    xmlns:DeepOSM="clr-namespace:DeepEarth.Provider.OpenStreetMaps;assembly=DeepEarth.Provider"
    xmlns:DeepControls="clr-namespace:DeepEarth.Controls;assembly=DeepEarth"

然后添加DeepEarth控件到grid里,

打开Page.xaml.cs加入namespace定义

using DeepEarth;
using DeepEarth.Provider.OpenStreetMaps;    //因为我们要用到OpenStreetMaps

然后只要再往函数里加入一行定义基础地图层的源就一切搞定了,代码如下:

using DeepEarth;
using DeepEarth.Provider.OpenStreetMaps;

namespace DeepEarthDemo
{
    public partial class Page : UserControl
    {
        public Page()
        {
            InitializeComponent();

            map.BaseLayer.Source = new OsmTileSource(OsmMapModes.Osmarend);
        }
    }
}

如果想要用Silverlight实现Virtual Earth更漂亮的地图你需要到这里申请一个Virtual Earth开发者帐号,具体可以看DeepEarth的源代码示例。
相关链接:
1. MSDN关于发布Virtual Earth的Silverlight应用
2. Virtual Earth SDK

转载请注明来自blog.etvalley.com,下面是我们完成的Demo页面。
http://blog.etvalley.com/wp-content/uploads/2009/04/DeepEarthDemoTestPage.html
鼠标滚轮进行地图的无极缩放是不是很酷?

分享到:
评论

相关推荐

    2021-2021年高考地理一轮复习单元阶段检测一地球与地图.pdf

    6. 地图阅读:第8题的戈达瓦里河河口与高韦里河河口的直线距离,需要读懂地图并进行距离估算。 7. 地形剖面图:第9题中的地形剖面图与等高线图的对应关系,涉及到地理制图学中的剖面图绘制原理。 8. 山地环境:第...

    论文研究 - 尼日利亚贝宁工厂的七瓶装瓶公司的转运模型

    这项研究的主要重点是获得从贝宁工厂(源)通过驱逐点(转运点)到需要产品的萨比勒-瓦里地区(水槽)运输10,000箱产品的最低成本。 使用TORA Windows 2.00版软件分析收集的数据。 分析表明,如果将产品直接从货源...

    瓦里达德斯·纳特

    瓦里达德斯·纳特(Variedades Nath)可能是一个项目或软件的名称,而"Variedades-Nath.-main"可能是这个项目中的主要文件夹或者源代码仓库的名称。考虑到标签为"HTML",我们可以推测这可能是一个与网页设计、前端...

    Clueless-Texter:弗罗格·瓦里

    Udacity FE Web开发人员纳米学位项目3:经典街机游戏 无能发短信(蛙人变种) 即使在过马路时,我们可怜的角色也无法停止发短信。 帮助我们默默无闻的发短信人在六车道自行车,小汽车和超速有轨电车之间穿越旧金山...

    初中语文文摘社会一个索马里海盗的『美国梦』

    1. 国际法与海盗行为:在描述阿卜迪瓦里的案件中,提到了关于海盗行为的国际法。海盗行为是国际公法中的一个重要议题,它涉及到海洋法和刑事司法的交叉领域。根据《联合国海洋法公约》,海盗行为被视为犯罪,任何...

    2011年内蒙古中考语文现代文之记叙文阅读6篇.docx

    ”这位来自坦桑尼亚的艾克瓦里,他的故事给我们揭示了一个深刻的道理——坚持与责任。在体育竞技中,尤其是像马拉松这样的耐力项目中,坚持不仅是个人毅力的体现,更是对祖国的尊重和责任的体现。尽管他已经远远落后...

    conversor-javascript:Conversor de moedas

    在【描述】"转换者 瓦里奥斯大教堂"中,"瓦里奥斯大教堂"可能是项目名称或者一个比喻,暗示了货币转换功能就像一座连接不同货币世界的桥梁。它强调了这个JavaScript程序的核心功能——进行货币转换。 【标签】...

    servidor_nuevo:塞尔维多·德·卡尼莫尼·卡西莫,米尼莫,mediana,promedio,desviación,瓦里萨

    在IT行业中,服务器是至关重要的组成部分,特别是在数据处理和计算任务方面。"servidor_nuevo"似乎是一个专门设计用于执行特定计算任务的程序或服务。根据标题和描述,这个服务器着重于统计分析,特别是对一组数值...

    直流电机的发展史PPT课件.pptx

    1866年~1867年初,瓦里、惠斯通和W 西门子先后发现直流电机自励原理,为直流电机的大型化和实用化奠定了基础。 在电磁方面,亥姆霍茨定律对直流电机的发展中做出了巨大的贡献。在结构方面,直流电机结构不断改进、...

    learning-english-nepali-newari:一个Snapchat镜头,可通过检测物体来帮​​助学习英语,尼泊尔语和纽瓦里语

    使用AR和ML学习英语/尼泊尔语/ Newari Learn English Nepali Newari是一种Snapchat镜头,它使用机器学习来识别从相机看到的物体,并以三种语言显示物体的名称:英语,尼泊尔语和Newari。 运行项目: 下载“ Lens ...

    Programming.in.Scala.pdf

    2. 肯·埃格瓦里(Ken Egervari)作为首席软件架构师,强调该书内容全面,提供了大量实用的建议,使他的组织能够迅速、高效地掌握Scala语言。 3. 拉里·莫罗尼(Larry Morroni)认为《Programming in Scala》是Scala...

    WariCan:简单易用的拆分计费应用

    瓦里康(WariCan)是一款专为用户提供便捷费用拆分服务的应用程序,它采用Swift编程语言进行开发,旨在让日常的账单分摊变得轻松简单。在当今社会,共享消费越来越普遍,无论是合租公寓的室友之间,还是朋友间的聚餐...

    赢在执行·结果导向请给我结果.pptx

    一个生动的故事讲述了坦桑尼亚选手艾克瓦里在奥运会马拉松比赛中的坚韧精神,尽管他并未赢得比赛,但他完成了比赛,实现了自己的目标。这则故事告诉我们,完成任务并不等同于达到预期的结果。 在工作场景中,"完成...

    湖北省咸宁市嘉鱼县实验2014-2015学年七年级语文上学期第一次月考试题(无答案).doc

    5. 综合性学习:母亲节的背景介绍,以及关于母亲节的活动策划和宣传主题的设计,体现了语文课程对传统文化和节日教育的关注。 6. 阅读理解:短文《一个人的奔跑》讲述了马拉松运动员艾克瓦里坚韧不拔的精神,体现了...

    态度决定一切!优秀员工需要的资料.doc

    此外,还引用了坦桑尼亚马拉松选手艾克瓦里的故事,他的坚韧不拔和完成比赛的决心体现了敬业精神的真谛。 【详细解释】: 1. **敬业精神**:敬业不仅仅是对工作的热爱,更是对职责的尊重和对事业的奉献。它要求我们...

    湖北省咸宁市嘉鱼县实验中学2020学年七年级语文上学期第一次月考试题(无答案).doc

    8. 阅读理解:文章《一个人的奔跑》讲述了马拉松运动员艾克瓦里坚韧不拔的精神,展现了体育精神和责任感。 9. 情感变化:格林斯潘从最初的好奇到感动,这种变化源于艾克瓦里对目标的执着和对祖国的责任感。 10. ...

    直流电机的发展史学习教案.pptx

    同时,基尔霍夫的电路定律、瓦里、惠斯通和西门子的自励原理,以及阿诺尔德和拉姆的换向理论等为直流电机理论的成熟奠定了基础。 6. **直流电机的黄金时代**:1880年前后,爱迪生和斯旺发明的白炽灯促进了直流电的...

Global site tag (gtag.js) - Google Analytics