Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用ASP.NET mvc从数据库加载Google地图中的多个标记?_Javascript_Jquery_Json_Sql Server_Asp.net Mvc - Fatal编程技术网

Javascript 如何使用ASP.NET mvc从数据库加载Google地图中的多个标记?

Javascript 如何使用ASP.NET mvc从数据库加载Google地图中的多个标记?,javascript,jquery,json,sql-server,asp.net-mvc,Javascript,Jquery,Json,Sql Server,Asp.net Mvc,使用此代码从数据库中检索数据并显示在标记的信息窗口中。问题是,它甚至没有向制造商展示,但在提供静态数据方面做得很好。数据以Json格式返回,并在for循环中迭代,循环是否有任何问题 控制器 看法 有什么错误?@Nikolaus无法从数据库检索数据,也没有显示任何标记。调用“函数initMapzoomeLevel,latDb,longDb”后只有一个映射,其余代码无效。控制器调试中是否有错误?@Nikolaus ViewBag.ListOfDropdown=db.tb_freelot.ToList

使用此代码从数据库中检索数据并显示在标记的信息窗口中。问题是,它甚至没有向制造商展示,但在提供静态数据方面做得很好。数据以Json格式返回,并在for循环中迭代,循环是否有任何问题

控制器

看法


有什么错误?@Nikolaus无法从数据库检索数据,也没有显示任何标记。调用“函数initMapzoomeLevel,latDb,longDb”后只有一个映射,其余代码无效。控制器调试中是否有错误?@Nikolaus ViewBag.ListOfDropdown=db.tb_freelot.ToList;返回以db为单位的条目计数,`var data=db.tb_freeslot.ToList;返回Jsondata,JsonRequestBehavior.AllowGet;`以json格式返回表中的所有详细信息,但public JsonResult GetAllLocationByidit id会抛出一个参数,除非代码中有SingleOrDefault。去掉这个。
db_SafeSpotEntities2 db = new db_SafeSpotEntities2();
    public ActionResult Find()
    {
        ViewBag.ListOfDropdown = db.tb_freeslot.ToList();
        return View();
    }
    public JsonResult GetAllLocation()
    {
        var data = db.tb_freeslot.ToList();
        return Json(data, JsonRequestBehavior.AllowGet);
    }
    public JsonResult GetAllLocationById(int id)
    {
        var data = db.tb_freeslot.Where(x => x.freeslot_id == id).SingleOrDefault();
        return Json(data, JsonRequestBehavior.AllowGet);
    }
                <div>
                    <select class="form-control" id="selectedValue" onchange="GoLocation(this.value)">
                       <option>--Select--</option>
                        @foreach (var item in ViewBag.ListOfDropdown)
                        {
                            <option value="@item.freeslot_id">@item.sllotinfree_name</option>
                        }
                    </select>
                                   <div id="map"></div>
                <script>
              var map;
              function initMap(zoomeLevel, latDb, longDb) {
                  map = new google.maps.Map(document.getElementById('map'), {
                      center: { lat: latDb != null ? latDb : 10.523900, lng: longDb != null ? longDb : 76.212250 },
                      zoom: zoomeLevel != null ? zoomeLevel : 15
                  });
}
              function GoLocation(locationId) {
                  debugger;
                  $.get("/user/GetAllLocationById?id=" + locationId, function (data, status) {
                      initMap(data.Zoom, data.Lat_infree, data.Long_infree);
                      var marker = [];
                      var contentString = [];
                      var infowindow = [];
                      for (var i = 0; i < data.Length; i++) {
                              marker[i] = new google.maps.Marker({
                              position: { lat: data[i].Lat_infree, lng: data[i].Long_infree},
                              map: map
                          });
                          contentString[i] = '<div id="content">' +
                                              '<div id="siteNotice">' +
                                              '</div>' +'<h6 id="firstHeading" class="firstHeading"><b>' + data[i].sllotinfree_name + '</b></h6>' +
                                              '<div id="bodyContent">' +
                                              '<p><b>' + data[i].car_freeslot + '</b><b>car</b>' +
                                              '<p><b>' + data[i].bike_freeslot + '</b><b>bike</b>';
                          infowindow[i] = new google.maps.InfoWindow({
                              content: contentString[i]
                          });
                          var markervalue = marker[i];
                          google.maps.event.addListener(marker[i], 'mouseover', (function (markervalue, i) {                          return function () {
                                  infowindow[i].open(map, marker[i]);
                              }
                          })(marker[i], i));
                          google.maps.event.addListener(marker[i], 'mouseout', (function (markervalue, i) {
                              return function () {
                                  infowindow[i].close();
                              }
                          })(marker[i], i));
                      }
                  })
            }
                </script>
                <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBNKM7U-FRBfd6BfD3UwfRQRRpSgu2TsiU&callback=initMap"
                        async="" defer="defer" type="text/javascript"></script>