`
yuanlanxiaup
  • 浏览: 896011 次
文章分类
社区版块
存档分类
最新评论

在Winform中显示Google地图

 
阅读更多

由于Google Map不提供WinForm的API,在WinForm中显示Google地图可以采用WebBrowser浏览器控件显示网页,从而实现在WinForm中显示地图。在WebBrowser中可以通过直接打开网页(如http://maps.google.com/)来显示Google地图,也可以自己在本地设计一个Google地图网页,然后加载到WebBrowser中显示地图。通过其他服务器发布的地图网页有时候可能无法满足你的开发需求(在很多情况下它可能没有公开一些数据接口),所以,建议在本地设计一个Google地图网页,并开发所需的地图功能。Google地图为浏览器端的开发提供了多种API,如Javascript、Flex,若采用Flex需要Flash Builder等IDE来进行FLEX开发,但采用Javascript来开发就要简单方便多了,本身我们的浏览器就是Javascript的编译器,只需要用文本工具编写简单的HTML和Javascript代码即可。

1.1一个简单的Javascript地图

首先,利用文本工具或者Javascript专业编辑工具(如1st JavaScript Editor),新建一个文件,输入如下代码(注意红色的部分):

<!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

<head>

<metaname="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no" />

<metahttp-equiv="content-type" content="text/html;charset=gb2312">

<title>地图定位</title>

<linkhref="http://code.google.com/apis/maps/documentation/javascript/examples/default.css"rel="stylesheet" type="text/css" />

<scripttype="text/javascript"src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>

<scripttype="text/javascript">

下面来解释一下上面红色代码的含义,首先在script中定义了地图对象map,然后定义初始化函数initialize(),在initialize()函数中首先定义了变量myLatlng,用于表示地图显示中心,如下图所示:

变量myOptions用于定义地图的一些选项,如缩放等级(zoom)、地图中心(center)、是否能双击缩放(disableDoubleClickZoom)、地图类型(mapTypeId)等等。

其中地图类型mapTypeId主要有四种地图,即:

lHYBRID:该地图类型显示卫星图像上的主要街道透明层。

lROADMAP:该地图类型显示普通的街道地图。

lSATELLITE该地图类型显示卫星图像。

lTERRAIN该地图类型显示带有自然特征(如地形和植被)的地图。

在定义了变量myOptions后,实例化地图对象,如下:

map = newgoogle.maps.Map(document.getElementById("map_canvas"), myOptions);

上面代码中document.getElementById("map_canvas")是获取HTML中添加的map_canvas对象,即将地图显示在map_canvas中。

至此,完成了一个简单的地图。

1.2在WinForm中显示地图

在Winform中显示地图主要分两个步骤,第一个步骤就是创建项目并添加WebBrowser控件,第二步就是加载前面编写的index.htm网页文件。

首先新建一个项目,如下图所示:

然后添加Webbrowser控件到窗体中,假定添加的Webbrowser控件的名称为webBrowser1,在窗体的Load事件中添加加载网页的代码,假定网页存放在项目的debug文件夹中,如下:

privatevoid Form1_Load(objectsender, EventArgs e)

{

try

{

//加载地图

stringaddress = "File:\\" + Application.StartupPath + "\\index.htm";

Uriurl = new Uri(address);

webBrowser1.Url = url;

webBrowser1.ScriptErrorsSuppressed = false;

}

catch(Exception except)

{

MessageBox.Show(except.Message,"提示!",

MessageBoxButtons.OK,MessageBoxIcon.Warning);

}

}

运行程序,即在Winform中显示了前面编写的网页地图,如下图所示:


}

</script>

</head>

<bodyonload="initialize()">

<divid="map_canvas" ></div>

</body>

将文件保存为index.htm,然后用浏览器打开该网页文件,即在网页中添加了Google地图,其结果如下图所示:


分享到:
评论

相关推荐

    winform中加载Google地图

    在Windows Forms(Winform)应用程序中集成Google地图是一项常见的需求,尤其对于开发地理位置相关的桌面应用。本示例将深入探讨如何使用C#语言在Winform中实现这一功能,包括地图的加载、分类、缩放以及经纬度的...

    C# Winform开发使用离线地图 GMap 例程

    在C# Winform应用开发中,使用离线地图可以极大地提高程序的运行效率,尤其是在网络不稳定或者需要离线运行的场景下。GMap.NET是一个强大的开源库,它为Windows Forms和WPF提供了丰富的地图功能,支持离线地图数据。...

    C#中winform开发的地图定位-Google地图定位

    本文将深入探讨如何使用Google Maps API在WinForm应用中实现地图定位功能。 首先,理解C# WinForm的基本概念是必要的。C#是一种面向对象的编程语言,而WinForm是.NET Framework提供的一种用于构建桌面应用程序的...

    winform调用goole地图

    在Windows Forms(Winform)应用中,调用Google地图通常是为了在应用程序中集成地图功能,让用户能够查看地理位置、导航或进行其他地图相关的操作。这里我们主要讨论如何利用WebBrowser控件来实现这一目标。 ...

    【ASP.NET编程知识】在WinForm和WPF中使用GMap.Net地图插件简单教程.docx

    GMap.Net是一款功能强大且灵活的地图插件,它可以在WinForm和WPF应用程序中使用,以提供丰富的地图显示和交互功能。下面我们将详细介绍如何在WinForm和WPF中使用GMap.Net地图插件。 一、GMap.Net简介 GMap.Net是一...

    C# (winform)计算机地图制图程序

    SharpMap支持多种地理空间数据格式,包括Shapefile,可以通过投影变换将地图坐标转换为屏幕坐标,以便在Winform应用中显示。GMap.NET则集成了Google Maps、Bing Maps等在线地图服务,提供了丰富的地图瓦片显示和定位...

    google.rar_CSharp google_google earth winform_winform google ear

    在本文中,我们将深入探讨如何使用C#编程语言在Windows Forms(WinForm)应用程序中调用Google搜索服务。标题中的"google.rar_CSharp google_google earth winform_winform google ear"暗示了一个项目,该项目可能...

    c# winform 地图应用源码

    开发者需要理解如何在WinForm中嵌入地图控件,以及如何处理地图的加载、缩放、平移等操作。 2. **加入锚点**:锚点通常指的是地图上的固定位置或兴趣点。在地图应用中,用户可以设置锚点以标记特定地点,例如家、...

    VS2008 WinForm类型的GoogleMap二次开发

    在本文中,我们将深入探讨如何在Visual Studio 2008 (VS2008) 中进行Google Map的二次开发,特别是在WinForm应用程序中的实践。这个主题涉及到C#编程语言,以及如何在Windows桌面应用中集成和操作Google Maps API。 ...

    GMap.NET_TEST.rar_GMAP_GMAP.NET_c# google地图二次开发_gmap winform

    1. 地图显示:在WinForm应用程序中加载Google地图,设置地图中心点、缩放级别,以及选择不同的地图样式。 2. 标记(Markers):在地图上添加点标记,通常用于表示特定位置,可以自定义标记的图标和信息窗口。 3. ...

    制作简单的winForm地图检索程序

    在收到Google Maps返回的JSON数据后,你可以解析这些数据,提取出结果,并在WinForm界面上展示,比如在地图上标记位置,或者在其他控件中显示详细信息。 **注意事项** 1. 调用Google Maps API可能产生费用,确保...

    C#基于GMAP的winform地图程序

    该程序允许用户在不同的地图提供商之间切换,如谷歌地图、高德地图和百度地图,这些地图服务通常通过API接口提供服务。此外,程序还集成了高德API的地址搜索功能,这意味着用户可以输入地址,然后程序将利用高德的...

    WinForm下实现GMAP调用高德、百度地图

    在Windows Forms(WinForm)应用开发中,有时候我们需要集成地图功能,例如显示地理位置、导航或者进行地图数据分析。标题提到的“WinForm下实现GMAP调用高德、百度地图”正是这样一个需求,它涉及到将地图API集成到...

    Google地图简单开发

    在本文中,我们将深入探讨如何在C# WinForm应用程序中集成和使用Google地图API进行简单的开发。这个项目的核心是利用WebBrowser控件作为交互界面,将Google地图服务嵌入到桌面应用中。以下是你需要知道的关键知识点...

    Winform各种自定义控件

    `GMap.NET.Core.dll`和`GMap.NET.WindowsForms.dll`是GMap.NET库的组件,用于在Winform应用中集成Google Maps服务,提供地图显示、定位、路线规划等功能。如果自定义控件需要地图相关功能,如地址选择、地图标记等,...

    Winform下的地图开发控件(GMap.NET)使用心得

    对于希望在Winform或WPF应用中集成地图功能的开发者而言,GMap.NET无疑是一个值得考虑的优秀选择。无论是基础的地图展示,还是复杂的路径规划和地理编码,GMap.NET都能够提供有力的支持,大大简化了地图功能的开发...

    将GoogleMap嵌入到桌面应用程序窗口

    在本文中,我们将深入探讨如何将Google Map集成到桌面应用程序窗口中,特别是在Windows Forms(Winform)环境中使用C#编程语言。这对于地图开发人员来说是一个关键的技能,它能够为用户提供直观、实时的地图互动功能...

    Winform 公交查询软件

    7. **地图集成**:虽然描述中没有提及,但为了更直观地展示公交线路,开发者可能会集成地图API,如Google Maps或高德地图,显示公交车路线和站点位置。 8. **数据缓存**:为了提高性能和减少对API的频繁调用,...

    [珍藏]C# Gmap加载高德地图项目

    在C#项目中集成GMap.NET,可以方便地实现地图的显示、缩放、平移等基本操作,并且支持添加各种地图标记、线段、多边形等复杂功能。 在该项目中,`GMap.sln`是解决方案文件,包含了整个项目的所有配置和依赖。`GMap....

    Gmap.net中文,并集成了高德地图(MAPAbc)

    Gmap.net中文版的出现,将Google地图的强大功能与国内知名的地图提供商——高德地图(MAPAbc)相结合,为开发者带来了更为全面的地理信息解决方案。本文将深入探讨Gmap.net中文版本的特点,其与高德地图集成的优势,...

Global site tag (gtag.js) - Google Analytics