Передача php var в javascript в Laravel - PullRequest
0 голосов
/ 04 декабря 2018

Я пытаюсь передать php $ var в Javascript в скрипте карты Google.У меня есть адресная таблица в БД.И с помощью контроллера я получаю его для просмотра и теперь пытаюсь передать его в Javascript и повторить.

Но с некоторыми проблемами я думаю, что мой код немного поврежден.Кстати у меня нет лат и lng, только адреса.

function initMap(){
        var options = {
            zoom:8,
            center:
            @foreach($address as $addr){
               {!! $addr->address !!} 
            }
            @endforeach
        }

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

        var marker = new google.maps.Marker({
            position:
                @foreach($address as $addr){
                   {!! $addr->address !!}
                }
                @endforeach
            map:map
        });

        var infoWindow = new google.maps.InfoWindow({
            content:'content here'
        });

        marker.addListener('click', function () {
            infoWindow.open(map, marker);
        })

    }

И вызов API карты

<script async defer
       src="https://maps.googleapis.com/maps/api/js?key=MY-KEY&callback=initMap"></script>

контроллер

public function index()
{

    $address = DB::table("allestates")
        ->get();

    return view("home", compact('address'));

}

Адресный столбец в БД:

addresses

1 Ответ

0 голосов
/ 04 декабря 2018

Я вижу несколько вещей, которые могут вызывать проблему

Попробуйте это:

function initMap(){
    var options = {
        zoom:8,
        center:
           '{!! $address[0]->address !!}'
    }

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

    var marker = new google.maps.Marker({
        position:
            @foreach($address as $addr)
               '{!! $addr->address !!}'
            @endforeach
        map:map
    });

    var infoWindow = new google.maps.InfoWindow({
        content:'content here'
    });

    marker.addListener('click', function () {
        infoWindow.open(map, marker);
    })

}

Так что прежде всего @foreach (...) не использует { или }

Во-вторых, вы хотите вывести любую информацию, которая не только числовая, внутри кавычек

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...