- 浏览: 1539029 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (525)
- SEO (16)
- JAVA-EE-Hibernate (6)
- JAVA-EE-Struts (29)
- JAVA-EE-Spring (15)
- Linux (37)
- JAVA-SE (29)
- NetWork (1)
- CMS (14)
- Semantic Research (3)
- RIA-Flex (0)
- Ajax-Extjs (4)
- Ajax-Jquery (1)
- www.godaddy.com (0)
- SSH (34)
- JavaScript (6)
- SoftwareEngineer (9)
- CMMI (0)
- IDE-Myeclipse (3)
- PHP (1)
- Algorithm (3)
- C/C++ (18)
- Concept&Items (2)
- Useful WebSite (1)
- ApacheServer (2)
- CodeReading (1)
- Socket (2)
- UML (10)
- PowerDesigner (1)
- Repository (19)
- MySQL (3)
- SqlServer (0)
- Society (1)
- Tomcat (7)
- WebService (5)
- JBoss (1)
- FCKeditor (1)
- PS/DW/CD/FW (0)
- DesignPattern (11)
- WebSite_Security (1)
- WordPress (5)
- WebConstruction (3)
- XML|XSD (7)
- Android (0)
- Project-In-Action (9)
- DatabaseDesign (3)
- taglib (7)
- DIV+CSS (10)
- Silverlight (52)
- JSON (7)
- VC++ (8)
- C# (8)
- LINQ (1)
- WCF&SOA (5)
- .NET (20)
- SOA (1)
- Mashup (2)
- RegEx (6)
- Psychology (5)
- Stock (1)
- Google (2)
- Interview (4)
- HTML5 (1)
- Marketing (4)
- Vaadin (2)
- Agile (2)
- Apache-common (6)
- ANTLR (0)
- REST (1)
- HtmlAnalysis (18)
- csv-export (3)
- Nucth (3)
- Xpath (1)
- Velocity (6)
- ASP.NET (9)
- Product (2)
- CSS (1)
最新评论
-
lt26w:
理解成门面模式应该比较容易明白吧
FacadePattern-Java代码实例讲解 -
lt26w:
看下面的例子比较明白.
FacadePattern-Java代码实例讲解 -
javaloverkehui:
这也叫文档,别逗我行吗,也就自己看看。
HtmlCleaner API -
SE_XiaoFeng:
至少也应该写个注释吧。
HtmlCleaner API -
jfzshandong:
...
org.springframework.web.filter.CharacterEncodingFilter 配置
【Silverlight】Bing Maps学习系列(四):使用图钉层(Pushpin layer)及地图图层(MapLayer)
- 博客分类:
- Silverlight
如果我们需要在Bing Maps中加入一个小图钉标记,该如何实现了?Bing Maps控件已经为我们提供了这个功能,在Microsoft.Maps.MapControl名称空间下提供了实现图钉应用的图钉层Pushpin类, 比如我们可以通过如下的方式来定位一个图订层在地图上的位置:
2 double latitude = double .Parse( " -122.34942 " );
3
4 Pushpin pushpin = new Pushpin();
5 pushpin.Location = new Location(latitude, longitude);
从上可以看书,实现定位还是使用的上一篇文章中介绍的Location类。呵呵,多记一遍~~~~那如何加入在地图中了,其实很简单的,Bing Maps地图控件直接提供了图钉层,通过内嵌的方式既可加入图订层,默认使用Bing Maps提供的图形标记。
2 Center ="33.845881352,105.165628188471" ZoomLevel ="6.0" >
3 < m:Pushpin Location ="33.845881352,105.165628188471" ></ m:Pushpin >
4 </ m:Map >
不错,要在地图上加上一个图钉层就是这么简单,并直接定位于33.845881352,105.165628188471这个坐标之上,知道这个坐标是那里吗?他就在俺们“China”上,不行你可以看看下面的截图:
通过上述我们成功的添加上了一个小图钉层在地图上,除了添加图钉外,我们还可以自定义添加图形、图片、视频等在地图上,要实现添加图形、图片或视频等数据到地图上,需要使用Bing Maps为我们提供的地图图层(MapLayer)来实现,如下:
2 Center ="33.845881352,105.165628188471" ZoomLevel ="6.0" >
3 < m:Pushpin Location ="33.845881352,105.165628188471" x:Name ="mayPushpin" ></ m:Pushpin >
4 < m:MapLayer x:Name ="myMapLayer" ></ m:MapLayer >
5 </ m:Map >
如上在地图中加入了一空白地图图层,接下来就可以使用程序动态在地图图层上添加自己想加的东西了,比如上面我们已经定位到了中国地图区域,接下来我们将中国国旗插上地图可以吗?答案是肯定的,如何做?
2 {
3 double longitude = double.Parse(this.tbLongitude2.Text.Trim());
4 double latitude = double.Parse(this.tbLatitude2.Text.Trim());
5
6 Location location = new Location(latitude, longitude);
7
8 Image image = new Image();
9 image.Source = new BitmapImage(new Uri("http://localhost:2986/Images/China.jpg ", UriKind.RelativeOrAbsolute));
10 image.Stretch = Stretch.None;
11 image.ImageFailed += delegate(object senders, ExceptionRoutedEventArgs ex)
12 { };
13 PositionOrigin position = new PositionOrigin(1.0, 1.0);
14
15 this.myMapLayer.AddChild(image, location, position);
16 }
同样通过Location进行坐标的精度和纬度定位,通过将制定的图片序列为Image对象作为一个可显示的对象添加到地图图层就OK了。效果如下:
OK,成功的在地图上插上了中国国旗!~~~~~Silverlight完整代码如下:
2 xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation "
3 xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml "
4 xmlns:m ="clr-namespace:Microsoft.Maps.MapControl;assembly=Microsoft.Maps.MapControl"
5 xmlns:d ="http://schemas.microsoft.com/expression/blend/2008 " xmlns:mc ="http://schemas.openxmlformats.org/markup-compatibility/2006 "
6 mc:Ignorable ="d" d:DesignWidth ="500" d:DesignHeight ="500" >
7 < Grid x:Name ="LayoutRoot" Width ="500" Height ="500" >
8 < m:Map CredentialsProvider ="AkzZURoD0H2Sle6Nq_DE7pm7F3xOc8S3CjDTGNWkz1EFlJJkcwDKT1KcNcmYVINU" x:Name ="map"
9 Center ="33.845881352,105.165628188471" ZoomLevel ="6.0" >
10 < m:Pushpin Location ="33.845881352,105.165628188471" x:Name ="mayPushpin" ></ m:Pushpin >
11 < m:MapLayer x:Name ="myMapLayer" ></ m:MapLayer >
12 </ m:Map >
13 < StackPanel HorizontalAlignment ="Left" VerticalAlignment ="Bottom" Width ="180" Height ="200" Background ="Gray" >
14 < TextBlock Text ="精度:" ></ TextBlock >
15 < TextBox x:Name ="tbLongitude" ></ TextBox >
16 < TextBlock Text ="纬度:" ></ TextBlock >
17 < TextBox x:Name ="tbLatitude" ></ TextBox >
18 < TextBlock Text =" " ></ TextBlock >
19 < TextBlock Text ="精度:" ></ TextBlock >
20 < TextBox x:Name ="tbLongitude2" ></ TextBox >
21 < TextBlock Text ="纬度:" ></ TextBlock >
22 < TextBox x:Name ="tbLatitude2" ></ TextBox >
23 < Button x:Name ="btnAddPushpin" Click ="btnAddPushpin_Click" Content ="添加五星红旗" ></ Button >
24 </ StackPanel >
25 </ Grid >
26 </ UserControl >
27
本篇暂介绍到这里,希望提到抛砖引玉的效果,更详细的内容大家可参考官方提供的开发Silverlight和Bing Maps的朋友前来讨论~~~
相关说明
本文属学习笔记文章,愿与有志者共同学习交流。欢迎转载,但请在明显地位标记本文的原文连接。
作 者:Beniao
文章出处:http://beniao.cnblogs.com/ 或 http://www.cnblogs.com/
在AJAX API中可以的,Silverlight目前还没有可直接设置的方式实现加载中国地图(国语)的。可以通过间接的方式实现,通过自定义图层来覆盖原有的图层,将直定义的图层指向中文Bing Maps的Tile系统。
public MainPage()
{
InitializeComponent();
//初始化一个Uri对象,指向中文必应地图的Tile系统
UriBuilder tileSourceUri = new UriBuilder("http://r2.tiles.ditu.live.com/tiles/r {quadkey}.png?g=41");
MapTileLayer tileLayer = new MapTileLayer(); //初始化一个图层
LocationRectTileSource tileSource = new LocationRectTileSource(
tileSourceUri.Uri.ToString(),
new LocationRect(new Location(60, 60), new Location(13, 140)),
//初始化LocationRectTileSource对象,设定显示范围及放大级别
new Range<double>(1, 16));
tileLayer.TileSources.Add(tileSource); //指定图层的TileSource
tileLayer.Opacity = 0.9;
myMap.Children.Add(tileLayer); //将图层叠加在地图上
this.myMap.ViewChangeOnFrame += delegate(object sender, Microsoft.Maps.MapControl.MapEventArgs e)
{
double longitude = this.myMap.Center.Longitude;
double latitude = this.myMap.Center.Latitude;
this.tbLa.Text = latitude.ToString();
this.tbLo.Text = longitude.ToString();
};
//longitude:106.267710646379
//latitude:36.6078081145336
}
每个图钉在Silverlight里就是对应一个UIElement,你遍历Map下的所有类型为Pushpin的UIElement,判断是否已经添加来决定是否需要重复添加。
发表评论
-
SilverLight异步调用WebService出错!
2010-01-19 12:58 5399SilverLight异步调用WebService出错! ... -
Silverlight播放器 C#语言
2010-01-13 13:30 3302这段时间研究Silverlight中的MediaElement ... -
使用Silverlight,制作简单播放器的一点点心得。
2010-01-13 13:28 3658首先介绍什么是Silverligh ... -
初探silverlight--简易播放器
2010-01-13 13:28 1518<UserControl xmlns=" ... -
新开发的silverlight视频播放器,
2010-01-13 13:21 4481http://www.chenjiliang.com/Arti ... -
Silverlight教程第四部分:使用 Style 元素更好地封装观感
2010-01-12 22:11 1265Silverlight教程第四部分 ... -
Silverlight Carousel: Creating a Silverlight Control Displays Picture in an Inte
2010-01-12 18:18 1896http://www.codeproject.com/KB/s ... -
Using projection to build a 3D carousel in Silverlight 3
2010-01-12 18:14 2330http://ww ... -
CoverFlow – built using Silverlight 3's 'Projection' feature
2010-01-12 18:11 1888CoverFlow – built using Silver ... -
silverlight动画播放停止重播等控制
2010-01-06 12:38 1383ani.begin() ani.stop(); ani. ... -
silverlight速学范例100
2010-01-06 12:37 1275silverlight速学范例100 ... -
Silverlight 中的 HTTP 通信和安全
2010-01-04 23:43 2007Silverlight 中的 HTTP 通信和安全 < ... -
Visual Studio的 诡异bug(mscorlib无法引用)引发的对话 and Silverlight XAML 构造出错
2010-01-04 09:25 4125... -
Silverlight常见问题及解决方法
2009-12-22 14:06 1278Silverlight常见问题及解决方法 ... -
网上常用免费webservice 查询
2009-12-22 12:47 4598网上常用免费webservice 查询 2008-11 ... -
必应 Bing 新特性之最新文章, Wolfram|Alpha 整合, 天气搜索等已推出
2009-12-21 23:33 1530必应 Bing 增加了一项“最新文章”的搜索结果特性,例如下图 ... -
下载silverlight官网的全部视频教程
2009-12-21 23:30 14856Silverlight官网提供了许 ... -
Silverlight客户端和WCF服务器端共享类库
2009-12-21 23:21 1832在Silverlight企业级项目开发中,访问数据库是很常见的 ... -
Create a Silverlight Europe weather map
2009-12-21 22:55 1594I don’t generally fi ... -
必应地图图片系统(Tile System)之二
2009-12-21 22:53 2322【坐标系和地图图片编 ...
相关推荐
本篇主要介绍了 Bing Maps Silverlight Control 的基础开发环境搭建、显示地图的方法、控制地图的操作、使用图钉层和地图图层以及绘制多边形图形等知识点。通过这些基础知识的学习,开发者可以更加深入地掌握 Bing ...
3. **图层管理**:学会使用图钉层(Pushpin Layer)和地图图层(Map Layer),这两种图层可以帮助开发者在地图上添加标记、路线或其他地理信息。 4. **图形绘制**:绘制多边形(Polygon)图形是地图应用中常见的...
通过以上知识点的学习,开发者可以创建一个包含完整图钉和路线层的简单地图应用,从而为Windows Phone用户提供丰富的地图体验。在实际开发中,可以结合其他Bing Maps服务,如地理编码、反向地理编码、交通信息等,...
在SuperMap的学习过程中,Silverlight技术常常被用来创建交互式的地图应用。本篇文章将深入探讨如何利用Silverlight和SuperMap的API,特别是Pushpin和InfoWindow类,来实现地图上的可拖拽定位图钉功能。这是一个实用...
通过以上几个练习,你不仅能够掌握 Bing Maps Silverlight Control for Windows Phone 的基本使用方法,还能够学会如何利用 Bing Maps SOAP 服务来获取地图数据,进而创建出功能丰富的地图应用程序。
银光(Silverlight)操作Bing Maps的核心在于Bing Maps Silverlight控件,这个控件允许开发者添加地图层、标记、路线、图层管理等功能。要开始使用,你需要在项目中引用Microsoft.Maps.MapControl库,并在XAML中添加...
在本篇超级地图(SuperMap)的学习系列中,我们将深入探讨如何在Silverlight环境中利用超图自带的Pushpin和InfoWindow类实现可拖拽的定位图钉,并解决上一篇教程中可能遗留的问题。Silverlight是一种强大的开发工具...
Bing Maps控件提供了丰富的功能,包括地图浏览、定位、路线规划、图层叠加等,使得开发地图应用变得更加便捷。 首先,要使用Bing Maps控件,你需要在你的项目中引入Microsoft Bing Maps WPF SDK。这个SDK提供了一个...
3. **标记与图层**:在Bing Maps API中,可以添加标记(Pushpin)来表示特定位置,或者创建自定义图层显示其他信息,如交通状况、天气等。开发者可能通过Silverlight的UI元素来呈现这些数据。 4. **地理位置服务**...
**Bing Maps AJAX Control 7.0** 引入了一系列新的特性,这些特性极大地增强了地图的可定制性和交互性: - **增强的地图样式自定义能力**:用户可以更灵活地调整地图的颜色、标记等元素。 - **支持更多的地图类型**...
5. **添加图层和标记**:Bing Maps API允许我们添加图层(例如,图像覆盖层)和标记。例如,可以创建一个自定义的`Pushpin`对象,并将其添加到地图上。 ```csharp var pushpin = new Pushpin(); pushpin....
6. 混合现实(MapLayer):高级应用可能会结合地图与其他数据,比如交通信息、天气预报等,通过MapLayer在地图上叠加自定义图层,提供更丰富的信息。 在实现这些功能时,开发者需要注意Windows Phone平台的特性,如...
每日提交 :two_o’clock: :shooting_star: 欢迎捐款! :sparkles: 知道数据结构算法 存储库包含各种数据结构的代码以及入职前课程资料,包括以下主题:数组,位操作,递归,棘手的问题陈述,数学编码问题,链接列表...
1. **高级地图服务**:Bing Maps 集成了微软强大的地图服务,提供高分辨率的地图图像、卫星图片以及街景视图等功能。 2. **全面的数据支持**:Bing Maps 支持多种数据类型,包括地点、路线规划、实时交通状况等,为...
3. **地图样式和图层**:Bing Maps支持多种地图样式,如鸟瞰、卫星、路况等。开发者可以通过设置`mapTypeId`属性来切换。此外,还可以添加自定义图层,如叠加自己的图像数据或矢量数据。 4. **交互式元素**:如何...
Google Maps距离 具有地址编号验证(巴西地址)和距离( )的多个地址()。 JSFiddle 奥特
总的来说,实现"WPF窗体地图文件"涉及到的关键知识点包括:WPF的基础知识、地图服务API的使用(如Bing Maps)、地图控件的集成、地理编码(Geocoding)服务以及在WPF中处理用户交互事件。通过以上步骤,你可以创建一...
7. **地图服务提供商**:Windows Phone地图服务默认使用Bing Maps,但开发者也可以选择其他的地图服务提供商,如Google Maps或OpenStreetMap。这需要通过不同的API接入并处理地图数据。 8. **权限管理**:在使用...
1. **Bing Maps API的集成**:Bing Maps API是微软提供的地图服务接口,通过API调用,可以在网页或移动应用中嵌入地图。在BingMapsDemo中,首先需要在项目中引入Bing Maps的SDK或者库文件,并进行相应的配置,确保...
标题中的"A Freeware MFC PushPin button class"指的是一个免费的MFC(Microsoft Foundation Class)按钮类,专门设计成类似图钉(PushPin)的样式。这个类为开发者提供了一种在MFC应用程序中创建独特视觉效果的按钮...