在 .NET 3.5 ASP.NET MVC 应用程序中使用 Google Maps API

Posted

技术标签:

【中文标题】在 .NET 3.5 ASP.NET MVC 应用程序中使用 Google Maps API【英文标题】:Using Google Maps API in .NET 3.5 ASP.NET MVC application 【发布时间】:2010-10-10 13:01:22 【问题描述】:

我有一个到目前为止非常简单的 ASP.NET MVC 应用程序,但我想将行车路线页面添加到客户端位置。我看到很多使用传统代码隐藏模型的示例,但没有使用 ASP.NET MVC。该应用程序使用母版页和内容页。

我对 ASP.NET MVC 还是很陌生,所以请多多包涵。任何这样做的例子都将不胜感激。

PS:如果需要,我并不完全反对在应用程序中集成类型页面后面的标准代码。

【问题讨论】:

【参考方案1】:

我认为 tvanfosson 是正确的;您应该查看 javascript 示例。您使用 ASP.NET MVC 的事实不会真正影响您的 Google 地图代码。就像在标准 ASP.NET 应用程序中一样,在您的一个视图内容页面中编写 Google 地图代码,甚至只是在纯 html + JavaScript 应用程序中编写。唯一的区别是您需要动态添加 JavaScript 变量或参数,以便您的 Google 地图代码可以使用它。

我认为您不应该将任何逻辑放在代码隐藏文件中。将逻辑保留在控制器中将使您的项目更清洁,并且在这里使用代码隐藏不会真正帮助您。而是让您的控制器执行逻辑并将结果交给 ViewData 中的视图。

【讨论】:

谢谢 - 使用 jquery 让它在我的内容页面中工作并且它工作正常。【参考方案2】:

我可能会寻找通过 Javascript 而不是通过 .NET 接口进行交互的示例。查看http://code.google.com/apis/maps/documentation/index.html 上的 Google Maps API 文档,http://code.google.com/apis/maps/documentation/examples/index.html 上的示例。

【讨论】:

【参考方案3】:

这里有一篇关于在 ASP.NET MVC 中使用 Google 地图的博文:Using Google Maps with the MVC Framework

编辑:该解决方案对我来说不起作用,可能是由于使用旧版本的 MVC 框架构建的。 为了修复它,我必须在项目的 Web.Config 中替换以下行:

<add namespace="Microsoft.Web.Mvc"/>

下面一行:

<add namespace="System.Web.Mvc.Html" />

【讨论】:

【参考方案4】:

我使用 Google Maps API 来满足与您完全相同的需求(行车路线以及燃油经济性计算等)。我通常会做的是从后端的数据库中提取我需要的内容,并将其结构化为某种类型的列表,然后我可以填充隐藏的控件或文字。然后在前端,我将让 JavaScript 代码将其分开并将请求发送到地图 API。

我不知道它可能与 ASP.NET MVC 框架有多大不同,但我想不会有太大差异。

【讨论】:

【参考方案5】:

看看这个项目 (Google map control for ASP.NET MVC)。也许它可以帮助您创建一些包装您想要的功能的助手。

【讨论】:

以上是关于在 .NET 3.5 ASP.NET MVC 应用程序中使用 Google Maps API的主要内容,如果未能解决你的问题,请参考以下文章

我们是不是正在使用 .Net 3.5 中的 MVC 框架转向经典 ASP?

CultureInfo:海地克里奥尔语和 ASP.NET/MVC 上的 .NET 3.5?

ASP.NET MVC web.config(多个)问题

从 ASP.NET 3.5 应用程序在 IFRAME 中运行 GWT 应用程序(包括 Applet)?

如何在我的 .NET 3.5 Web 应用程序中安装和使用 ASP.NET AJAX 控件工具包?

ASP.NET MVC部署网站到IIS,只列出网站目录