0

こんにちは私はグーグルマップにマーカーを配置しようとしています。Jsonを使用してデータベースから緯度と経度を読み取ります。

最初のステップとして、私がやろうとしているのは、応答が返ってくるかどうかを確認することだけです。コードは以下のとおりです。

エンティティは次のとおりです。

public class Property
{
    public int PropertyId { get; set; }
    ...
    public virtual PropertyAddress PropertyAddress { get; set; }
}

public class PropertyAddress
{
    [Key]
    public int PropertyId { get; set; }
    ...
    public float Latitude { get; set; }
    public float Longitude { get; set; }
}

Jsonプロパティモデル:

public class JsonProperty
{
    public int PropertyId { get; set; }
    public float Latitude { get; set; }
    public float Longitude { get; set; }
}

コントローラ:

    public ActionResult Map()
    {
        if (Request.IsAjaxRequest())
        {
            var properties = websiteRepository.FindAllProperties();

            var jsonProperties = from property in properties
                                 select new JsonProperty
                                 {
                                     PropertyId = property.PropertyId,
                                     Latitude = property.PropertyAddress.Latitude,
                                     Longitude = property.PropertyAddress.Longitude
                                 };

            return Json(jsonProperties.ToList());
        }
        else 
        {
            return View();
        }
    }

意見:

@section Scripts_footer {
    <!-- Google Map Script -->
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

    <script type="text/javascript">
        $(document).ready(function () {
            var map = new google.maps.Map(document.getElementById("map"), {
                center: new google.maps.LatLng(19.0759837, 72.8776559),
                zoom: 13,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            });

            $.getJSON("/Search/Map", function (json) {
                alert(json);
            });
        });
    </script>
}

<div id="map" style="width: 500px; height: 300px"></div>

オブジェクトオブジェクトオブジェクトを含むアラートメッセージを期待していました...なぜそれが起こらないのかよくわかりません。

4

1 に答える 1

2

コントローラコードのreturnステートメントを次のように変更します。

return Json(jsonProperties.ToList(), JsonRequestBehavior.AllowGet);

Jsonリクエストは、セキュリティ上の理由から暗黙的にブロックされます。

于 2012-10-08T12:10:10.173 に答える