【Silverlight】 Bing Maps开发应用与技巧四:自定义MapMode实现地图访问限制

在某些情况下可能会出现只需要访问(加载)某块区域的地图显示,也可能需要对地图的缩放级别进行限制,或者只能让地图在5--10级之间进行深度缩放。要实现这些功能就需要通过自定义MapMode来实现了。本篇将为您介绍如何通过自定义MapMode来实现地图访问限制的常用方法与技巧。

首先需要了解下Bing Maps Silverlight Control的地图投影模式(MapMode)的架构模型,所有的地图投影模式都是根据投影抽象基类(MapMode)扩展而来。比如二维平面地图投影模式(FlatMapMode)、三维立体地图投影模式(MapMode3D:此投影模式目前尚未使用,为以后的扩展而保留)以及空地图投影模式(NullMode)等。如下图:

开发应用与技巧四:自定义MapMode实现地图访问限制-silverlight">
如上图所示,其中的墨卡托投影模式(MercatorMode),通过继承于平面地图投影模式(FlatMapMode)对下提供基于墨卡托投影的地图空间映射模型,其下分别实现了加载卫星地图的卫星投影模式(AerialMode)和街道地图的街道投影模式(RoadMode),分别用于实现加载微软卫星地图和街道地图。

如本篇前面提到的实现地图的访问范围和深度缩放级别限制,从上面对Bing Maps Silverlight Control的地图投影模式架构设计的整体分析,可知要实现访问限制可以从MercatorMode基类开始,MercatorMode提供了基于墨卡托投影的地理空间坐标系的完整地图投影模式实现,要自定义的平面地图投影模式则可以直接通过扩展MercatorMode来实现。比如下自定义模式用于加载中国地区的地图瓦片:

/// <summary>
/// 自定义地图投影模式
/// </summary>
public class ChinaMode : MercatorMode
{
}

时间: 2024-10-21 23:26:06

【Silverlight】 Bing Maps开发应用与技巧四:自定义MapMode实现地图访问限制的相关文章

【Silverlight】Bing Maps开发应用与技巧二:自定义图钉标注控件和动态ToolPa

[Silverlight]Bing Maps开发应用与技巧二:自定义图钉标注控件和动态ToolPanel 在Bing Maps Silverlight Control中以及为我们提供了地图图钉控件Pushpin,我曾经在<使用图钉层(Pushpin layer)及地图图层(MapLayer)>一文中介绍过他的使用方法,本篇主要介绍如何自定义图钉标注控件以及对他的一些扩展,比如实现图钉的动态ToolPanel. 关于图钉的UI外观的设计这里就不详细介绍了,通过Blend可以快速的构建UI界面.首

【Silverlight】 Bing Maps开发应用与技巧六:使用样式美化图钉(Pushpin)控

[Silverlight] Bing Maps开发应用与技巧六:使用样式美化图钉(Pushpin)控件的ToolTip外观 在使用Bing Maps Silverlight Control进行Bing Maps开发中,图钉(Pushpin)标注控件的使用频率是非常之高,多数情况下都会使用其ToolTip特性来呈现一些数据信息,但默认的 ToolTip外观并不完美,显得格外的难看.于此需要开发者自己实现其漂亮的外观界面,本篇将由浅入深的带你走入图钉(Pushpin)控件的 ToolTip外观美化之

【Silverlight】 Bing Maps开发应用与技巧五:实现图钉(Pushpin)的可拖放性

[Silverlight] Bing Maps开发应用与技巧五:实现图钉(Pushpin)的可拖放性(Draggable)扩展 目前在Bing Maps Silverlight Control中并没有提供可拖放的图钉(Pushpin)控件,其强大.灵活的架构设计为开发者提供了非常强大的扩展支持,要实现图钉控件的可拖放性可以自己动手进行扩展实现. System.Object System.Windows.DependencyObject System.Windows.UIElement Syste

【Silverlight】 Bing Maps开发应用与技巧三:Bing Maps Silverlight Control

[Silverlight] Bing Maps开发应用与技巧三:Bing Maps Silverlight Control的离线开发 我相信大多数使用Bing Maps开发的朋友都见过如下的画面,就是当我们在开发Bing Maps的时候,将开发KEY填写错误导致用户授权验证失败出现的下图提示错误. 使用Bing Maps Silverlight Control开发的缺点就在于它默认是使用的微软自己提供的在线地图数据,而且Bing Maps Silverlight Control还与开发者账号进行

【Silverlight】Bing Maps开发应用与技巧一:地图打点与坐标控件(CoordContr

[Silverlight]Bing Maps开发应用与技巧一:地图打点与坐标控件(CoordControl) 使用Bing Maps Silverlight Control开发中,很多时候都需要实现在的地图上打点的功能,也就是通过鼠标点击事件处理当前地图上点击点添加一个标注(比如图钉),主要使用 ViewportPointToLocation方法进行坐标转换,将鼠标所点击点的物理坐标转化为地理坐标(经度.纬度),该方法如下定义: [ScriptableMemberAttribute] publi

SQL Server 2008空间数据应用系列八:基于Bing Maps(Silverlight)的空间数据存储

原文:SQL Server 2008空间数据应用系列八:基于Bing Maps(Silverlight)的空间数据存储 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测. 2.具备 Transact-SQL 编程经验和使用 SQL Server Management Studio 的经验. 3.具有使用 Microsoft Visual Studio 进行 Microsoft .NET Framework开发的经验. 4.具有

SQL Server 2008空间数据应用系列七:基于Bing Maps(Silverlight) 的空间数据展现

原文:SQL Server 2008空间数据应用系列七:基于Bing Maps(Silverlight) 的空间数据展现 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测. 2.具备 Transact-SQL 编程经验和使用 SQL Server Management Studio 的经验. 3.具有使用 Microsoft Visual Studio 进行 Microsoft .NET Framework开发的经验. 4.具

Bing Maps进阶系列四:路由功能服务(RouteService)

Bing Maps提供的路由功能服务(RouteService)可以实现多方位的计算地图上的路线指示,路径行程等功能,比如说实现驾驶路线和地点,旅游航线等.可以通过该服务的地址(http://dev.virtualearth.net/WebServices/v1/RouteService/RouteService.svc)添加该服务的Web服务引用. 路由功能服务提供了两个方法,分别是CalculateRoute()和CalculateRoutesFormMajorRoads(),其实现的功能分

Bing Maps进阶系列一:初识Bing Maps地图服务

Bing Maps提供了一组WCF的地图服务,使用这些服务我们可以方便的在自己的应用系统里实现地理位置搜索等相关功能.他们分别是地理编码服务(GeocodeService).地理图像服务(ImageryService).路由功能服务(RouteService)和地理搜索服务(SearthService). 一.地理编码服务(GeocodeService) 地图编码服务提供了以一个有效的物理地址在地图上匹配其对应的地图地址(既地理经度和纬度坐标)和以地理经度和纬度坐标进行反向匹配物理地址路径的功能