Internet Explorer 5.5Internet Explorer 7Internet Explorer 6.0IEWindows VistaWindows 2003Visual Studio 2005Windows 2000Windows XP.NET 2.0XMLAjaxC# 2.0初学者DevVisual StudioJavascriptWindows.NETC#
一个小小的 Virtual Earth 控件
加载 Virtual Earth 地图到 C# 的简要介绍
引言
我只想实现一个用户控件,将 VEarth 地图加载到 Windows 窗体中。
主要问题是您可以在 HTML 页面中加载这些地图。
所以.. 我将在 WebBrowser 控件中加载... 但是出现了一个新问题... 从 HTML 页面捕获事件。
背景
如果您将这些地图用于商业目的;请阅读 Microsoft 许可协议 ($$$$)。
为了保存地图和复制图片,我使用了 SharpDevelop 中的一个类 (Juergen Thomas, Berlin (Germany) - https://codeproject.org.cn/csharp/FormPrintPackage.asp).使用代码
使用此控件非常简单。
创建一个新的 Windows 窗体项目,然后将 DLL 作为组件包含进来。
将控件插入到窗体中,然后简单地调用该方法
vEarthControl1.ShowInitialMap();
有多种方法可以控制地图和可视化,我认为不需要解释
// To Show the initial map
public void ShowInitialMap()
// and to close the map
public void unInit()
这些方法用于更改地图类型并显示(或隐藏)仪表板,以及更改其样式。
public enum DashboardStyleEnum {
Small,
Normal,
Tiny
}
public void DashBoardShow()
public void DashBoardHide()
public void DashBoardSet(DashboardStyleEnum dStyle)
public enum MapStyleEnum {
Road ,
Aerial ,
Hybrid ,
BirdsEye
}
public void SetMapStyle(MapStyleEnum mStyle)
在地图中移动和缩放
所有坐标均为十进制格式。
public void GoToCoordinates(double Latit, double Longit) public void SetZoomLevel(Int16 zLevel) public void ZoomOut() public void ZoomIn() public void ZoomWorld() public void ZoomBest()
在地图上添加和删除图钉
public void AddPushpin(Int32 IDPush, Double lat, Double lon, String Descrizione) public void AddPushpin(Int32 IDPush, Double lat, Double lon, String Descrizione, String iconAddress) public void RemovePushpin(Int32 IDPush) public void RemoveAllPushpins()
保存地图并打印
public Bitmap GetMapImage() public Boolean SaveMapAsBitmap(String FileName) public Boolean SaveMapAsBitmap() public void PrintMapDefaultSettings() public void PrintMapPreview() public void PrintOptions()
高级方法,如果您不知道如何将其作为参数发送,请不要使用它们!!!
我声明为 public 以允许每个人直接将不同的命令发送到地图,基于 SDK 规范
public void ExecuteCommandOnMap(String commandText) public void ExecuteCommandOnMap(String commandText, String commandParameters) public void ExecuteCommand(String commandText) public void ExecuteCommand(String commandText, String commandParameters)
这两个事件;始终处理它们以避免鼠标在地图上时发出嘈杂的声音
public class OnMoveOnMapEventArgs : EventArgs { public Double Lat; public Double Lon; public DateTime ora; } private void OnClickOnMap(object sender, VEarth.OnClickOnMapEventArgs e) private void OnMoveOnMap(object sender, VEarth.OnMoveOnMapEventArgs e)
关注点
Virtual Earth SDK: http://msdn2.microsoft.com/en-us/library/bb429619.aspx
历史
呃.. 第一个版本 :p