我试图从数据库中显示多个标记。但我得到了这个错误。
控制器
$events_happening_today=Events::where('start_date','=',date('Y-m-d') )->get();
$events_happening_today_count=Events::where('start_date','=',date('Y-m-d') )->count();叶片
<script>
function initMap() {
var pos = {lat: 40.7128, lng: 74.0060};
var map = new google.maps.Map(document.getElementById('map'),
{
zoom: 7,
center: pos
});
for (i = 0; i < {{$events_happening_today_count}}; i++)
{
marker = new google.maps.Marker({
position: new google.maps.LatLng({{$events_happening_today->latitude}},
{{$events_happening_today->longtitude}}),map: map
});
}
}
</script>错误:
“此集合实例上不存在属性纬度。
我该怎么办?我做得对吗?
发布于 2019-03-08 09:32:44
为纬度和经度取2个隐藏输入,并通过它进行循环。
@foreach($events_happening_today as $index=>$event)
<input type="hidden" id="lat_{{$index}}" value="{{$event->latitude}}" />
<input type="hidden" id="long_{{$index}}" value="{{$event->longtitude}}" />
@endforeach总计数
<input type="hidden" id="total" value="{{$events_happening_today_count}}"/>在您的脚本中:
<script>
function initMap() {
var pos = {lat: 40.7128, lng: 74.0060};
var map = new google.maps.Map(document.getElementById('map'),
{
zoom: 7,
center: pos
});
var total= parseInt(document.getElementById("total"));
for (i = 0; i < total ; i++)
{
var lat=Number(document.getElementById("lat_"+i));
var long=Number(document.getElementById("long_"+i));
marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,long),
map: map
});
}
}
</script>https://stackoverflow.com/questions/55060110
复制相似问题