`
luckyjaky
  • 浏览: 114434 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

在ASP.NET中使用Google Maps

阅读更多

简介

很多人都知道Google Map,其实,Google为我们自己开发应用程序提供了丰富的API,我们只要具备一些JavaScript的知识,就完全可以利用它们。但是,对于我来说,在ASP.NET页面中使用JavaScript来调用Google Map的API有一定难度,尤其是利用服务器端函数来动态画出Google Map。例如,我想从SQL Server中读取经纬度信息,然后在Google Map中插入一个点。如果熟悉AJAX的话,很快就能得出答案。我们必须用JavaScript调用ASP.NET服务器端函数,利用得到的数据来绘制Google Map。简单吧?其实,对于我来说并非如此。因此,我决定开发一个用户控件来处理JavaScript代码,这样,我就能集中精力于服务器端函数了。

 

特点

1.不需要JavaScript知识就能绘制Google Maps,只需在相应页面加入自定义控件即可。

2.使用AJAX调用来获取服务器端数据。

3.提供最优越的性能表现。

 

如何使用

在这里,我并不想解释我是如何创建该控件的。我只要教你如何使用它。

 

系统需求

1.Visual Studio 2005或更高版本

2.Microsoft ASP.NET AJAX Extensions支持

3.Internet Explorer 7.0或Mozilla Firefox 2.x

 

你只需完成以下几步:

1.新建一个ASP.NET AJAX-Enabled Website。

2.将源代码中App_Code文件夹、GoogleMapForASPNet.ascx、GoogleMapForASPNet.ascx.cs,GService.asmx复制到你的ASP.NET应用程序下。

3.保证你的网站支持AJAX技术。

4.打开Default.aspx(或任何你想加入Google Map的位置),将该自定义控件拖放至相应位置并编译,这样就实现了最简单的带有Google Map的ASP.NET网页。

 

现在我们来为Google Map加一些标注点。在Page_Load()事件中加入一些代码。

 

向Google Map控件传参

 

注意:使用时必须首先设定你的Google Maps API key(可以从Google免费获取)。

以下是代码:

if (!IsPostBack)
{
     GoogleMapForASPNet1.GoogleMapObject.APIKey = "<YourGoogleMapKey>";          //定义你的Google Maps API key

     GoogleMapForASPNet1.GoogleMapObject.APIVersion = "2";          //选择Google Maps API版本

     GoogleMapForASPNet1.GoogleMapObject.Width = "800px";
     GoogleMapForASPNet1.GoogleMapObject.Height = "600px";          //定义Google Map控件的大小

     GoogleMapForASPNet1.GoogleMapObject.ZoomLevel = 14;          //定义缩放级别,默认值为3

     GoogleMapForASPNet1.GoogleMapObject.CenterPoint = new GooglePoint("CenterPoint", 31.19, 120.37);     //定义地图中心位置

     GoogleMapForASPNet1.GoogleMapObject.Points.Add(new GooglePoint("1", 31.19, 120.37));          //在指定经纬度定义新的地图标注点

}

这样,就能自定义地图加载位置和标注点了。

 

自定义标注点图标

 

该控件支持自定义标注点图标。首先,将图标文件复制到你的网站目录下,接着,使用以下赋值语句:

     GP.IconImage = "icons/pushpin-blue.png";

还可以为标注点添加注释,当用户单击标注点时,能看到注释内容。代码:

     GP.InfoHTML = "这是一个标注点";

 

至此,已经介绍了使用Google Maps Control的基本内容。接下来,我们来看一下它的高级功能。例如,当用户进行某些操作时移动标注点。

 

创建交互式地图

 

该控件支持用户创建交互式地图。下面这个例子是,当用户单击按钮时,移动标注点。以下是使用方法:

 

1.插入一个Button控件,在它的Click事件中加入以下代码:

     protected void Button1_Click(object sender, EventArgs e)
     {
           GoogleMapForASPNet1.GoogleMapObject.Points["1"].Latitude += 0.003;
           GoogleMapForASPNet1.GoogleMapObject.Points["1"].Longitude += 0.003;
     }

     可以自主控制经纬度的增量。

2.运行该页面,你将发现整个页面都会被刷新或回传。为了避免这种现象,我们只需要把这个Button控件加入UpdatePanel控件中。

3.重新运行该页面,可看到该页面已经一切正常了。

 

自动更新和GPS导航

 

我们可以使用AJAX框架中的Timer控件来实现这一功能。在Timer_Tick()事件中,可以定义标注点新的经度和纬度。这样,在指定的时间间隔后,地图上所有的标注点都会自动更新。你也可以连接到GPS设备,构成一个GPS导航系统。

 

使用Google Maps Control绘制折线

 

1.首先,添加该折线的各个端点。代码如下:

     GooglePoint GP1 = new GooglePoint();
     GP1.ID = "GP1";
     GP1.Latitude = 31.19;               //定义标注点纬度
     GP1.Longitude = 120.37;          //定义标注点纬度
     GP1.InfoHTML = "这是标注点1";     //可选注释项
     GoogleMapForASPNet1.GoogleMapObject.Points.Add(GP1);          //在地图上添加这个点

     GooglePoint GP2 = new GooglePoint();
     GP2.ID = "GP2";
     GP2.Latitude = 31.19001;
     GP2.Longitude = 120.37001;
     GP2.InfoHTML = "这是标注点2";
     GoogleMapForASPNet1.GoogleMapObject.Points.Add(GP2);

     GooglePoint GP3 = new GooglePoint();
     GP3.ID = "GP3";
     GP3.Latitude = 31.19003;
     GP3.Longitude = 120.36998;
     GP3.InfoHTML = "这是标注点3";
     GoogleMapForASPNet1.GoogleMapObject.Points.Add(GP3);

2.利用这些点绘制折线

     GooglePolyline PL1 = new GooglePolyline();     //定义折线
     PL1.ID = "PL1";
     PL1.ColorCode = "#0000FF";               //定义折线颜色
     PL1.Width = 5;                    //定义折线宽度

     PL1.Points.Add(GP1);          //加入这些点(绘制折线)
     PL1.Points.Add(GP2);
     PL1.Points.Add(GP3);

3.将折线加入Google Maps Control中

     GoogleMapForASPNet1.GoogleMapObject.Polylines.Add(PL1);

 

 

使用Google Maps Control绘制多边形

 

1.按照上面的方法加入多边形各顶点。这里不再赘述。

2.使用这些点创建一个多边形。代码如下:

     GooglePolygon PG1 = new GooglePolygon();          //定义多边形
     PG1.ID = "PG1";
     PG1.FillColor = "#0000FF";               //定义多边形各条边的颜色
     PG1.FillOpacity = 0.4;

     PG1.Points.Add(GP1);               //将上面创建的各点加入多边形(作为顶点)
     PG1.Points.Add(GP2);
     PG1.Points.Add(GP3);
     ……………………………………

     PG1.Points.Add(GPn);               //第n个顶点

3.将多边形加入Google Maps Control中

     GoogleMapForASPNet1.GoogleMapObject.Polygons.Add(PG1);

 

今天先写到这里,改天继续。

分享到:
评论

相关推荐

    在ASP.NET中使用Google Map

    但是,对于我来说,在ASP.NET页面中使用JavaScript来调用Google Map的API有一定难度,尤其是利用服务器端函数来动态画出Google Map。例如,我想从SQL Server中读取经纬度信息,然后在Google Map中插入一个点。如果...

    ASP.NET页面中使用Google Map

    但是,对于我来说,在ASP.NET页面中使用JavaScript来调用Google Map的API有一定难度,尤其是利用服务器端函数来动态画出Google Map。例如,我想从SQL Server中读取经纬度信息,然后在Google Map中插入一个点。如果...

    googlemaps googlesuggest 在asp.net 2.0中的应用

    【标题】"googlemaps googlesuggest 在asp.net 2.0中的应用"涉及到的主要知识点是Google Maps API和Google Suggest API在ASP.NET 2.0框架下的整合与使用。Google Maps API是一个强大的工具,允许开发者将地图功能...

    asp.net谷歌地图控件使用示例

    本文将详细介绍如何在Asp.NET项目中使用谷歌地图控件,并展示其实现各种功能的示例。 首先,谷歌地图API是Google提供的一项服务,允许开发者在网页或应用程序中嵌入交互式地图。Asp.NET版的GoogleMap控件是基于这个...

    asp.net google 地图

    在“asp.net google 地图”项目中,开发者通常会首先在ASP.NET页面中引入Google Maps API,然后利用JavaScript或者更高级的AJAX技术与后端ASP.NET服务器进行交互。例如,用户在输入框中输入地址后,前端可以发送请求...

    Google Maps Control for ASP.Net 2.0

    `Default.aspx`是示例网页,展示了如何在实际项目中使用Google Maps Control。开发者可以参考此页面的代码结构和事件处理程序,学习如何与控件进行交互,以及如何响应用户的地图操作。 `Web.config`是ASP.NET应用...

    实例asp.net调用Google Map

    本文将深入探讨如何在ASP.NET应用程序中集成并利用Google Maps API,为用户提供丰富的地图体验。 首先,我们需要了解Google Maps API。Google Maps API是Google提供的一套JavaScript库,允许开发者在其网页上嵌入...

    在ASP.NET程序中加载google地图

    下面展示一个简单的示例,演示如何在ASP.NET页面中使用Google Maps Control for ASP.NET控件: ```csharp protected void Page_Load(object sender, EventArgs e) { GooglePoint GP = new GooglePoint(); GP....

    .net 下 google maps 开发范例

    在.NET环境中,我们可以使用ASP.NET MVC或者ASP.NET Web Forms来构建网站应用。例如,你可以通过在网页中嵌入一个IFrame,加载Google Maps的URL,然后通过查询字符串传递参数以定制地图显示的地理位置、缩放级别等。...

    ASP.NET中使用Ajax示例

    在ASP.NET中,我们通常使用Ajax库如AjaxPro来实现Ajax功能。 **AjaxPro库** AjaxPro是针对ASP.NET平台的一个轻量级的Ajax框架,它简化了在ASP.NET应用中实现Ajax功能的过程。这个库提供了强大的特性,包括类型安全...

    ASP.NET源码——GoogleMap地图控件应用源码.zip

    在这个特定的压缩包中,"GoogleMap地图控件应用源码.zip"包含的是一个使用ASP.NET技术实现的Google Map API的控件应用。这个源码示例可以帮助开发者了解如何在ASP.NET项目中集成Google Maps,为网站或应用程序添加...

    ASP.NET旅游网站

    在【166ASP.NET辽宁旅游网站】这个项目中,我们可以推测其主要包含了以下几个核心知识点: 1. **数据库设计**:使用SQL Server作为后台数据库,可能包含了用户信息、旅游景点、线路、订单、评价等表的设计,涉及到...

    谷歌地图使用范例(asp.net c#)

    在本文中,我们将深入探讨如何在ASP.NET C#环境中使用谷歌地图API,通过一个实际的范例程序来解析和理解其关键概念和技术。谷歌地图API是Google提供的一个强大的工具,它允许开发者集成地图功能到自己的Web应用中,...

    ASP.NET实现Goole地图

    在本项目中,"ASP.NET实现Google地图"意味着我们将探讨如何在ASP.NET环境中集成和使用Google Maps API来创建交互式地图功能。 Google Maps API是Google提供的一套JavaScript库,允许开发者在自己的网页或应用中嵌入...

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

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

    Asp.net版的GoogleMap地图控件应用源码

    这个源码包提供了一个详细的实例,展示了如何在Asp.net应用中使用GoogleMap控件,以及如何进行二次开发。 首先,`GoogleMapForASPNet.ascx`是用户控件文件,它包含了Google Map的主要界面和交互逻辑。在这个文件中...

Global site tag (gtag.js) - Google Analytics