1

私はmvcとjqueryを初めて使用します。データベース上の複数の都市に置き換えて、場所を置き換えたいと思います。どうやってこれをやったのかと思っていました。

function initialize() {

    var locations = [
        ['Hougang', 1.37265, 103.893658],
        ['Punggol', 1.400617, 103.907833],
        ['MacRitchie Reservoir', 1.346002, 103.825436],
        ['Bishan', 1.352051, 103.849125],
        ['Sentosa', 1.251226, 103.830757]
        ];

    var map = new google.maps.Map(document.getElementById('map'), {
        zoom: 0,
        center: new google.maps.LatLng(1.37265, 103.893658),
        mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    var infowindow = new google.maps.InfoWindow();

    var marker, i;

    for (i = 0; i < locations.length; i++) {
        marker = new google.maps.Marker({
            position: new google.maps.LatLng(locations[i][1], locations[i][2]),
            map: map
        });

        google.maps.event.addListener(marker, 'click', (function(marker, i) {
            return function() {
                infowindow.setContent(locations[i][0]);
                infowindow.open(map, marker);
            }
        })(marker, i));
    }

    // Check if user support geo-location
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(function(position) {
            var latitude = position.coords.latitude;
            var longitude = position.coords.longitude;
            var geolocpoint = new google.maps.LatLng(latitude, longitude);

            var mapOptions = {
                zoom: 8,
                center: geolocpoint,
                mapTypeId: google.maps.MapTypeId.HYBRID
            }
            // Place a marker
            var geolocation = new google.maps.Marker({
                position: geolocpoint,
                map: map,
                title: 'Your geolocation',
                icon: 'http://labs.google.com/ridefinder/images/mm_20_green.png'
            });
        });
    }
}
google.maps.event.addDomListener(window, 'load', initialize);


</script>

それはこれらの線上の何かでしょうか?、問題は私が2つを接続する方法がわからないことです。

public JsonResult Autolocations()
        {
            var locations = from s in db.Tble_content
                              select s.EN_Title;
            // return namelist.ToList();
            return Json(locations, JsonRequestBehavior.AllowGet);
        }

事前に感謝しますヘッシュ

4

1 に答える 1

1

コントローラをビューに接続するには、ajaxを使用する必要があります。

$(document).ready(function() {

    $.getJSON("/Locations/Autolocations", null, function (locations) {
          initialize(locations);
    });
});

function initialize(locations) {
    var map = new google.maps.Map(document.getElementById('map'), {
        zoom: 0,
        center: new google.maps.LatLng(1.37265, 103.893658),
        mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    //the rest of your javascript code
}

そして、あなたのコントローラーはこのようなものでなければなりません

public class LocationsController : Controller    
{
    public JsonResult Autolocations()
    {
        var locations = from s in db.Tble_content
                          select s;
        return Json(locations.ToList(), JsonRequestBehavior.AllowGet);
    }
}
于 2013-03-25T14:52:34.297 に答える