Laravel在数据库的地图中显示标记

时间:2019-03-08 09:21:26

标签: javascript laravel

我正在尝试显示数据库中的多个标记。但我收到此错误。

控制器

ProxyPass/ProxyPassReverse

刀片

$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();

错误:

  

“此集合实例上不存在属性[纬度]。

我该怎么办?我做对了吗?

1 个答案:

答案 0 :(得分:0)

采用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>