Bagaimana mempassing data di javascript laravel

Hallo teman-teman semua,

apa kabar? semoga sehat selalu dan selalu di beri kesehatan untuk terus belajar di sekolah koding. Saya mengikuti kelas laravel di sini https://sekolahkoding.com/kelas/belajar-laravel-53-dasar.

setelah beberapa lama belajar dan saya mau mencoba buat sesuatu. Di tutorial tersebut di jelaskan jika kita mau meng echo/menampilkan data cukup menggunakan tag seperti ini {{$a -> b }}

di mana $a di dapat dari array data yang di taruh di controller. misalkan:

$contoh = Test::all(); return view ('test', a ->$contoh)

test di sini adalah nama model kita di mana di situ kita mendefinisikan/menampilkan data yang mau di pake ke dalam javascript. Ini kodenya

 <!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>Leaflet Load WKT</title>
    <link rel="stylesheet" href="https://unpkg.com/leaflet@1.0.2/dist/leaflet.css">
    <style>
       html, body, #map {
        margin: 0;
        height: 100%;
      }

      #submit {
        position: absolute;
        z-index: 400;
        right: 20px;
        top: 20px;
      }
    </style>
  </head>
  <body>
    <div id="map"></div>
    <button id="submit" onclick="loadWkt();">Load WKT into Map</button>
    <script src="https://unpkg.com/terraformer@1.0.7"></script>
    <script src="https://unpkg.com/terraformer-wkt-parser@1.1.2"></script>

    <script src="https://unpkg.com/leaflet@1.0.2"></script>
    <script>
        var map = new L.Map('map');

        // Create a layer of open streetmap tile layer
        var osmUrl='http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
        var osmAttrib='Map data © OpenStreetMap contributors';
        var osm = new L.TileLayer(osmUrl, {minZoom: 2, maxZoom: 21, attribution: osmAttrib});

        // add tiles to the map
        map.addLayer(osm);

        map.setView([38.97993, -104.9794], 12);

        function loadWkt() {
        	$data = @foreach($shape as $petas)
  			{{ $petas->polygon }}
    		@endforeach

            // This well known text respesetents the Waldo Canyon Fire
            var wkt = "MULTIPOLYGON ((($data)))";

            // Convert the well known text to geojson
            var geojson = Terraformer.WKT.parse(wkt);

            // Create a geojson layer with our new geojson object
            var layer = L.geoJson(geojson, {}).addTo(map);

            // get a geojson bounding box xmin, ymin, xmax, ymax
            var bounds = geojson.bbox();

            // fit the map tp the bounds of the fire.
            map.fitBounds([ [bounds[1], bounds[0]], [bounds[3], bounds[2]] ]);
        }
    </script>
  </body>

Ketika di eksekusi muncul error unexpected number. Terima kasih sebelumnya

avatar konservasi
@konservasi

65 Kontribusi 10 Poin

Diperbarui 6 tahun yang lalu

3 Jawaban:

"Ketika di eksekusi muncul error unexpected number."

Boleh tau di line berapa muncul error ini gan?

Mungkin type datanya berbeda jadi error.

avatar keccikun
@keccikun

364 Kontribusi 196 Poin

Dipost 6 tahun yang lalu

ada yang aneh dari function ini.

function loadWkt() {
         // ini untuk php?
         // jika ingin menggunakan operator dalam php di laravel gunakan @php @endphp
         // https://laravel.com/docs/5.3/blade#php

         $data = @foreach($shape as $petas)
  			{{ $petas->polygon }}
    		@endforeach

         // atau mungkin maunya seperti ini?

        	var dataPolygon = [];

        @foreach($shape as $petas)
  	       dataPolygon.push({{ $petas->polygon }});
    	@endforeach


            // This well known text respesetents the Waldo Canyon Fire
            var wkt = "MULTIPOLYGON ((($data)))";

            // Convert the well known text to geojson
            var geojson = Terraformer.WKT.parse(wkt);

            // Create a geojson layer with our new geojson object
            var layer = L.geoJson(geojson, {}).addTo(map);

            // get a geojson bounding box xmin, ymin, xmax, ymax
            var bounds = geojson.bbox();

            // fit the map tp the bounds of the fire.
            map.fitBounds([ [bounds[1], bounds[0]], [bounds[3], bounds[2]] ]);
        }

avatar unhackme
@unhackme

27 Kontribusi 13 Poin

Dipost 6 tahun yang lalu

Setelah ane telusuri lagi,ada baiknya di tulis dalam bentuk javascript. nanti saya coba lagi. source code nya sudah saya destroy

avatar konservasi
@konservasi

65 Kontribusi 10 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban