Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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 如何将数据从数据库(mysql)加载到谷歌地图API(laravel)_Javascript_Php_Mysql_Laravel_Google Maps Api 3 - Fatal编程技术网

Javascript 如何将数据从数据库(mysql)加载到谷歌地图API(laravel)

Javascript 如何将数据从数据库(mysql)加载到谷歌地图API(laravel),javascript,php,mysql,laravel,google-maps-api-3,Javascript,Php,Mysql,Laravel,Google Maps Api 3,所以我有一个laravel应用程序,我需要我的谷歌地图API来加载一些标记。我的数据库中存储了每个标记的lat和lng,我想将所有这些数据传递到google maps API的脚本中: function initMap() { var lafarinera = {lat: 41.934029, lng: 2.265616}; var vic = {lat: 41.930445, lng: 2.254321}; var map = new google.maps.M

所以我有一个laravel应用程序,我需要我的谷歌地图API来加载一些标记。我的数据库中存储了每个标记的lat和lng,我想将所有这些数据传递到google maps API的脚本中:

    function initMap() {
    var lafarinera = {lat: 41.934029, lng: 2.265616};
    var vic = {lat: 41.930445, lng: 2.254321};
    var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 8,
    center: vic
    });
    var contentString = '<div id="content">'+
    '<div id="siteNotice">'+
    '</div>'+
    '<h3 id="firstHeading" class="firstHeading">La Farinera</h3>'+
    '<img src="">'+
    '<div id="bodyContent">'+
    '<p> 84, Carrer de Sant Jordi, 82, 08500 Vic, Barcelona </p>'+
    '<button type="button" class="btn btn-primary">Informacio</button>'+
    '</div>'+
    '</div>';
        var infowindow = new google.maps.InfoWindow({
            content: contentString,
            maxWidth: 200
        });
            var marker_lafarinera = new google.maps.Marker({
            position: lafarinera,
            map: map,
            title: 'La farinera'
        });
        marker_lafarinera.addListener('click', function() {
            infowindow.open(map, marker_lafarinera);
        });
    }
函数initMap(){
var lafarinera={lat:41.934029,lng:2.265616};
var vic={lat:41.930445,lng:2.254321};
var map=new google.maps.map(document.getElementById('map'){
缩放:8,
中心:维克
});
var contentString=''+
''+
''+
“拉法里纳”+
''+
''+
“84,卡雷尔·德桑特·乔迪,巴塞罗那国际中心8208500”+
“信息”+
''+
'';
var infowindow=new google.maps.infowindow({
content:contentString,
最大宽度:200
});
var marker_lafarinera=新的google.maps.marker({
职位:拉法里纳,
地图:地图,
标题:《法里内拉》
});
marker_lafarinera.addListener('click',function()){
信息窗口。打开(地图,马克·拉法里纳);
});
}


通过这种方式,它只需一个标记就可以工作,因为我有lat和lng静态,但我希望只需从de db传递所有数据,这样我就可以在我的.js中使用它。

您需要在脚本标记中添加标记数组或通过ajax获取它们

<script>
  var markers= @json($markers);

  $.each(markers as marker,function(){
      addMarkerToMap(marker);
  });

  function addMarkerToMap(marker){

        var location = new google.maps.LatLng(marker.latitude,marker.longitude);

        marker = new google.maps.Marker({
            position: location,
            map: map,
        });

  });
</script>

var markers=@json($markers);
$.each(作为标记的标记,函数(){
addMarkerToMap(marker);
});
函数addMarkerToMap(标记器){
var location=new google.maps.LatLng(marker.lation,marker.longitude);
marker=新的google.maps.marker({
位置:位置,,
地图:地图,
});
});

我今天才尝试,但它成功了,如果我使用console.log(markers),我会从de DB获得我想要传递的所有数据。非常感谢你!