Postingan lainnya
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