无法在javascript中循环通过laravel集合

无法在javascript中循环通过laravel集合,javascript,laravel,google-maps,Javascript,Laravel,Google Maps,你好,我在谷歌地图上工作,我收集了lat,长格式数据库,通过这些lat,长格式数据库,我必须创建标记 Laravel系列: public function getMap() { $map = Map::all(); return view('view-map', compact('map')); } JavaScript代码: <script> var data = {!!$map!!}; var i; for (i = 0; i &l

你好,我在谷歌地图上工作,我收集了lat,长格式数据库,通过这些lat,长格式数据库,我必须创建标记

Laravel系列:

public function getMap()
{

    $map = Map::all();
    return view('view-map',
        compact('map'));

}
JavaScript代码:

    <script>

var data = {!!$map!!};
var i;
for (i = 0; i < data.length; i++) {


//var lat = {{$map->lat}};
//var lng = {{$map->lng}};
var lat = data[i]->lat;
var lng = data[i]->lng;

 var map = new google.maps.Map(document.getElementById('map-canvas'), {
    center:{
        lat: lat,
        lng: lng
    },
    zoom: 15
 });

  // Marker
  var marker = new google.maps.Marker({

  position:{
    lat: lat,
    lng: lng
  },
  map: map

  });
} // end for
</script>

变量数据={!!$map!!};
var i;
对于(i=0;ilat};
//var lng={{$map->lng};
var lat=数据[i]->lat;
var lng=数据[i]->lng;
var map=new google.maps.map(document.getElementById('map-canvas'){
中心:{
拉特:拉特,
液化天然气:液化天然气
},
缩放:15
});
//标记
var marker=new google.maps.marker({
职位:{
拉特:拉特,
液化天然气:液化天然气
},
地图:地图
});
}//结束

这只是创建一个标记,如何循环遍历所有lat,长javascript,请指导我。

现在您正在创建新映射,并为每个迭代替换当前映射。尝试只为每个迭代创建标记:

<script>

 var map = new google.maps.Map(document.getElementById('map-canvas'), {
    center:{
        lat: lat,
        lng: lng
    },
    zoom: 15
 });

var data = {!!$map!!};
var i;
for (i = 0; i < data.length; i++) {

  // Marker
  var lat = data[i]->lat;
  var lng = data[i]->lng;
  var marker = new google.maps.Marker({

    position:{
      lat: lat,
      lng: lng
    },
    map: map

  });

} // end for

</script>

var map=new google.maps.map(document.getElementById('map-canvas'){
中心:{
拉特:拉特,
液化天然气:液化天然气
},
缩放:15
});
变量数据={!!$map!!};
var i;
对于(i=0;ilat;
var lng=数据[i]->lng;
var marker=new google.maps.marker({
职位:{
拉特:拉特,
液化天然气:液化天然气
},
地图:地图
});
}//结束

嗨,亲爱的Laravel和JavaScript是两码事。 您可以使用多个aproach

  • 您可以使用ajax获取标记
  • 您可以执行
    var data=
  • 还有一个软件包,它只允许开发人员将php变量注入javaScript<代码>“Laracast/utilities”:“~2.0”

  • 谷歌搜索“javascript循环”将是一个很好的开始,就像阅读@GillesC一样。我已经使用for循环更新了代码,但是Collection.php第1527行中的ErrorException:Property[lat]在此集合实例上不存在,这是一个错误