【问题标题】:Fetching locations from DB into Javascript从数据库获取位置到 Javascript
【发布时间】:2019-05-10 23:30:11
【问题描述】:

我正在尝试从数据库表中获取位置。首先使用控制器将数据保存在 $var

public function index()
{

    $adresArray = DB::table("allestates")->select('id','lat','lng','price')->get()->toArray();

    return view('home', compact('adresArray'));


}

然后将它们传递给刀片

    var locations = @json($adresArray)

    function initMap()
    {
        var options =
            {
                zoom : 10,
                center : {lat:34.652500, lng:135.506302}
            }

        var map = new google.maps.Map(document.getElementById('map'), options);

        var markers = locations.map(function(location, i) {
            var m = new google.maps.Marker({
                map: map,
                position: {
                    lat: location.lat,
                    lng: location.lng
                }
            });

            var infoWindow = new google.maps.InfoWindow({
                content: location.price
            });

            m.addListener("click", function() {
                infoWindow.open(map, m);
            });
        });

    } 

未定义变量:位置

我在这里缺少什么?

【问题讨论】:

标签: javascript php laravel


【解决方案1】:

在刀片的 js 脚本中使用这个 sintax:

var addresses = {!! $location !!};

另外,看看你的控制器,你没有得到一个对象,所以你必须对位置数组进行迭代以处理里面的每个对象,你不能只放置 {!!$location->lng !! } 就像你正在做的那样......

【讨论】:

  • 但是到底如何在google map中迭代lat和lng呢?
  • 我更新了问题中的代码。但仍然没有效果,出现 undefined var 错误。
  • 在您上次更新中,您在紧凑函数中传递了 EstatesArray,但变量名称为 $adresArray
  • 很抱歉错字,已经改正但结果还是一样。
猜你喜欢
  • 1970-01-01
  • 2014-10-03
  • 1970-01-01
  • 2014-06-07
  • 1970-01-01
  • 2018-09-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多