0

ASP.NET MVC 4 を使用しており、自分のページに Google マップを読み込もうとしています。

Subgurim libを使用していて、既にマップ オブジェクトを持っていますが、それをページにロードする方法がわかりません。

これが私がこれまでに得たものです:

 @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 ではそれができません。

乾杯!

4

3 に答える 3

1

ascx ユーザー コントロールを cshtml のパーシャルとしてレンダリングすることで、.NET 4.5、MVC 5 (剃刀)、GMaps 4.1.0.6、および Visual Studio 2013 を使用して動作する基本的な例を作成できました。これを機能させるために私がしたことは次のとおりです。

  • NuGet から Subgurim.Maps パッケージを追加します。
  • ascx コントロールを追加します。私の場合は、使用したい cshtml と同じフォルダーに配置された Gmap.ascx でした。コードは次のようになります。
  • 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 タグが必要です。これがないと機能しません。

  • コントロールは、カミソリを操作するために UserControl ではなく ViewUserControl から継承する必要があります。

  • コントロール (Google、コマーシャル) のキーがあることを確認してください。それらの詳細については、コントロール サイトを参照してください。

  • コントロールを cshtml と同じフォルダーに配置しなかった場合は、部分ヘルパーに指定されたパスを調整する必要があります。

ありがとうございました:

これがお役に立てば幸いです - 乾杯、

アンカー

于 2013-11-07T17:04:50.383 に答える
0

私はプロジェクトの開発者の 1 人であり、MVC (Razor または選択した他のビュー エンジン) に適した新しいバージョンに取り組んでいます。生産の準備ができたら、この応答を更新します。

于 2013-02-01T12:05:22.247 に答える
0

私は同じ問題を抱えています。

私のプロジェクト (MVC3 で作成) では、aspx エンジンに部分ビューを追加しました (私の Web サイトの残りの部分はカミソリを使用しています)。サブグリムのチュートリアルサイトをフォローしました。次に、Google APIキーを追加しましたが、すべてが問題ないように見えても灰色の長方形が表示されます! 次に、Google でこの投稿を見つけました: http://it.googlemaps.subgurim.net/Foro/general-discussions-perm5956-5963.aspx

:(

于 2012-07-27T10:49:57.053 に答える