Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Kelas Premium!
Belajar Javascript untuk website
Gunakan kupon "mulaijs" untuk diskon 75 ribu!
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
3 Jawaban:
"Ketika di eksekusi muncul error unexpected number."
Boleh tau di line berapa muncul error ini gan?
Mungkin type datanya berbeda jadi error.
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]] ]);
}
Setelah ane telusuri lagi,ada baiknya di tulis dalam bentuk javascript. nanti saya coba lagi. source code nya sudah saya destroy