[英]How to load Subgurim GMap object in razor(MVC3/4)
我正在使用ASP.NET MVC 4,并且试图在页面上加载Google Map。
我正在使用Subgurim lib,并且已经有了map对象,但是我不知道如何将其加载到页面中。
这是到目前为止我得到的:
@model Subgurim.Controles.GMap
@{
ViewBag.Title = "Pesquisa Carona";
}
<h2>PesquisaCarona</h2>
<h4>Diga o endereço</h4>
<input type="text" name="txEndereco" />
<input type="submit" />
<cc1:GMap ID="googleMap" runat="server" /> <!-- This doesnt work!!!--!>
我知道通常我会添加直接访问它的地图,例如:
对于服务器端:
GMap1.addGMarker(oMarker);
对于页面:
<cc1:GMap ID="GMap1" runat="server" Height="300px" Width="300px" />
但是使用MVC我无法做到这一点。
干杯!
通过将ascx用户控件呈现为cshtml的一部分,我能够使用.NET 4.5,MVC 5(剃刀),GMaps 4.1.0.6和Visual Studio 2013的基本示例。 这是我为使其工作而要做的事情:
在ascx中:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Gmap.ascx.cs" Inherits="YourApp.Views.Gmap" %> <%@ Register Assembly="GMaps" Namespace="Subgurim.Controles" TagPrefix="gmaps" %> <form id="form1" runat="server"> <gmaps:GMap ID="GMap1" runat="server" Width="500px" Height="250px" EnableViewState="False" /> </form>
在ascx.cs中:
namespace YourAPP.Views { using System; using System.Drawing; using System.Web.Mvc; public partial class Gmap : ViewUserControl { protected void Page_Load(object sender, EventArgs e) { GMap1.enableDragging = false; GMap1.Language = "en"; GMap1.BackColor = Color.White; GMap1.Key = "YOUR GOOGLE KEY"; GMap1.CommercialKey="YOUR COMMERCIAL KEY"; } } }
在cshtml中:
@ Html.Partial(“ Gmap”)
**需要注意的几件事:
ascx中的form标记是必需的,没有它就无法使用。
该控件需要继承自ViewUserControl而不是UserControl才能使用剃刀。
确保您具有控件的键(Google,Commercial)。 有关详细信息,请参见控制站点。
如果未将控件与cshtml放在同一文件夹中,则需要调整提供给Partial helper的路径。
谢谢至:
我希望这会有所帮助-干杯,
安克尔
我有同样的问题。
在我的项目(使用MVC3制作)中,我在aspx引擎中添加了部分视图(我的网站的其余部分使用剃刀)。 我关注了subgurim教程站点。 然后我添加了google api键,但是即使一切似乎正常,我也会得到一个灰色矩形! 然后我在Google上找到了这篇文章: http : //it.googlemaps.subgurim.net/Foro/general-discussions-perm5956-5963.aspx
:(
我是该项目的开发人员之一,我们正在开发适用于MVC(Razor或其他选择的视图引擎)的新版本。 准备生产时,我将更新此响应。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.