File Manager

Current Directory: /home/astoriaah/www/templates/yootheme-BK/vendor/yootheme/theme/builder/map
Viewing File: /home/astoriaah/www/templates/yootheme-BK/vendor/yootheme/theme/builder/map/index.php
<?php return [ 'name' => 'yootheme/builder-map', 'builder' => 'map', 'inject' => [ 'view' => 'app.view', 'styles' => 'app.styles', 'scripts' => 'app.scripts', ], 'render' => function ($element) { $markers = []; $options = ['title', 'content', 'hide', 'show_popup']; $leaflet = 'https://cdn.jsdelivr.net/leaflet/1.0.2'; foreach ($element as $marker) { if (!$location = $marker['location']) { continue; } list($lat, $lng) = explode(',', $location); $markers[] = $marker->pick($options)->set('lat', (float) $lat)->set('lng', (float) $lng); } if ($center = reset($markers)) { $element['center'] = $center->pick(['lat', 'lng']); } else { $element['center'] = ['lat' => 53.5503, 'lng' => 10.0006]; } $element['markers'] = array_values(array_filter($markers, function ($marker) { return !$marker['hide']; })); if ($key = $this->theme->get('google_maps')) { $this->scripts->add('google-api', 'https://www.google.com/jsapi', [], ['defer' => true]); $this->scripts->add('google-maps', "var \$google_maps = '{$key}';", [], ['defer' => true, 'type' => 'string']); } else { $this->styles->add('leaflet', "{$leaflet}/leaflet.css", [], ['defer' => true]); $this->scripts->add('leaflet', "{$leaflet}/leaflet.js", [], ['defer' => true]); } $this->scripts->add('builder-map', '@builder/map/app/map.min.js', [], ['defer' => true]); return $this->view->render('@builder/map/template', compact('element')); }, 'config' => [ 'element' => true, 'defaults' => [ 'show_title' => true, 'type' => 'roadmap', 'zoom' => 10, 'controls' => true, 'zooming' => false, 'dragging' => false, ], ], 'include' => [ 'yootheme/builder-map-marker' => [ 'builder' => 'map_marker', ], ], ];