Compare commits

..

No commits in common. "master" and "master" have entirely different histories.

17 changed files with 937 additions and 2923 deletions

View File

@ -1,6 +1,6 @@
<?php <?php
//session_start(); session_start();
//ini_set('display_errors', 'On'); ini_set('display_errors', 'On');
require ('xajax/xajax.inc.php'); require ('xajax/xajax.inc.php');
$xajax = new xajax(); $xajax = new xajax();
@ -44,8 +44,6 @@ if(isset($_REQUEST['formato'])){
}else{ }else{
header('Content-Type: application/json'); header('Content-Type: application/json');
//echo "hola /// $_REQUEST[id] // " ; //echo "hola /// $_REQUEST[id] // " ;
//echo " <pre>".print_r($datos)."</pre>";
echo json($datos); echo json($datos);
} }
?> ?>

View File

@ -1,83 +0,0 @@
body { margin:0; padding:0; overflow:hidden; touch-action:none; }
#map { position:absolute; top:0; bottom:0; width:100%; overflow:hidden; }
p {font-size: 14px;}
#sidebar {
z-index: 10; position: absolute; right: 10px; top: 10px; width: 320px;
background-color:rgba(255,255,255,.9); padding: 20px; border-radius: 3px; }
#title h1 { color: #390; }
#introduction p { margin-bottom: 10px; line-height: 1.5em }
#taxas>div { display: inline-block; }
#taxas p { text-align: center; }
.button {
background-color: #fff; background-size:cover;
border-radius: 5px; border: #390 1px solid; height:48px; width: 48px;
margin: 4px; margin-left: 8px;
}
.button.active { border:color:#390; }
.button:hover { border-color: #390; }
.button#Plantae { background-image: url('img/icon0_plantae.png') }
.button#Aves { background-image: url('img/icon0_aves.png') }
.button#Insecta { background-image: url('img/icon0_insecta.png') }
.button#Fungi { background-image: url('img/icon0_fungi.png') }
.button#Plantae.active { background-image: url('img/icon1_plantae.png') }
.button#Aves.active { background-image: url('img/icon1_aves.png') }
.button#Insecta.active { background-image: url('img/icon1_insecta.png') }
.button#Fungi.active { background-image: url('img/icon1_fungi.png') }
.button#Plantae:hover { background-image: url('img/icon1_plantae.png') }
.button#Aves:hover { background-image: url('img/icon1_aves.png') }
.button#Insecta:hover { background-image: url('img/icon1_insecta.png') }
.button#Fungi:hover { background-image: url('img/icon1_fungi.png') }
.marker {
border: #fff 1.4px solid; border-radius: 50%; cursor: pointer; box-shadow: 1px 1px 1px;
height: 48px; width: 48px; margin: -24px 0 0 -24px;
background-size: cover; }
.marker:hover { z-index: 1; border-color: #390; }
.marker.sm {
background-color: none; border-width: 0; box-shadow: 0 0 0;
height: 32px; width: 32px; margin-left: -16px; margin-top:-16px;}
.marker.sm:hover { border: #fff 1px solid; }
#me { height: 16px; width: 16px; background-size: 100% 100%; }
.mapboxgl-ctrl-geocoder { z-index: 0; }
.mapboxgl-popup { width: 280px; }
.mapboxgl-popup-close-button { background-color: rgba(255,255,255,.9); height: 30px; width: 30px; font-size: 18px; padding:2px; border-radius: 1px;}
.mapboxgl-popup p { font-size: 12px; line-height: 16px; margin-top:6px;}
.img-md { height: 260px; width:260px; background-position: center center; background-repeat: no-repeat; background-size: cover; }
.loading { display:none; }
@media only screen and (max-width: 479px) {
.mobile-hide{ display: none; }
.mobile-show{ display: inline-block !important; }
#sidebar {
z-index: 2; border-radius: 0; padding:2vh 4vw 2vh 4vw;
position: absolute; width:100%; height:150px;
bottom: 30px; left:0; right:0; top:inherit;
}
#sidebar p { margin-bottom: 2vh; font-size: 1em; }
#title { margin-bottom: 2vh; }
#title h1 { font-size: 20px; line-height: 26px; display: inline-block; }
#info {
height:18px; width:18px; display: inline-block; margin-left:3px;
background-image: url('img/arrow_down.svg'); background-size:cover; }
.button { width:15vw; margin: .5vh 1vw .5vh 10vw; height:15vw;}
.button:first-of-type { margin-left:5vw; }
.button img { height:100%; width: 100%; }
#taxas p { text-align: center; margin-left: 5vw; }
.mapboxgl-popup-content { padding: 1vw; padding-bottom: 2vw; }
.mapboxgl-popup { width: 52vw; }
.img-md { height: 50vw; width: 50vw;}
}

View File

@ -14,35 +14,10 @@ el otro archivo css style.css que está en la carpeta milfs
display: block; display: block;
} }
#canvas-holder_$tipo_$id_campo{
max-width:100%;
}
@media (max-width: 768px) { @media (max-width: 768px) {
#panel_administrador{ #panel_administrador{
padding: 0px !important; padding: 0px !important;
} }
}
@media (max-width: 480px) {
#modificarcampo_succesalert{
position: relative;
display: block;
border-collapse: separate;
padding-top: 13px;
}
#modificarcampo_succesalert>.input-group-addon{
border: 1px solid #ccc !important;
border-radius: 0px;
}
#nuevocampo_success{
padding-bottom: 60px !important;
}
#nuevocampo_success>.btn{
display: block;
}
} }

View File

@ -261,7 +261,10 @@ border-color: transparent;
/*Panel Editor*/ /*Panel Editor*/
.thumbnail { .thumbnail {
height: 100% !important;
overflow-y: auto;
overflow-x: hidden;
border: none;
} }
.box-secciones { .box-secciones {

View File

@ -1,10 +1,5 @@
<?php <?php
function Conectarse(){ function Conectarse(){
if(!isset($_SESSION))
{
session_start();
}
if ( !isset ( $link ) ) { if ( !isset ( $link ) ) {
@include("includes/datos.php"); @include("includes/datos.php");

File diff suppressed because it is too large Load Diff

View File

@ -9,7 +9,7 @@ require ("funciones/conex.php");
$geojson = imprime_geojson("$_REQUEST[id]","","mapa","$_REQUEST[buscar]",""); $geojson = imprime_geojson("$_REQUEST[id]","","mapa","$_REQUEST[buscar]");
//header('Content-Type: application/json'); //header('Content-Type: application/json');
var geojsonSample = var geojsonSample =
echo $geojson; echo $geojson;

View File

@ -11,7 +11,7 @@ require ("funciones/conex.php");
if(isset($_REQUEST['buscar'])){$buscar=$_REQUEST['buscar'];}else{$buscar="";} if(isset($_REQUEST['buscar'])){$buscar=$_REQUEST['buscar'];}else{$buscar="";}
if(isset($_REQUEST['item'])){$item=$_REQUEST['item'];}else{$item="";} if(isset($_REQUEST['item'])){$item=$_REQUEST['item'];}else{$item="";}
if(isset($_REQUEST['id'])){$id=$_REQUEST['id'];}else{$id="";} if(isset($_REQUEST['id'])){$id=$_REQUEST['id'];}else{$id="";}
//echo print_r($_SERVER);
$geojson = imprime_geojson("$id","","mapa","$buscar","$item",""); $geojson = imprime_geojson("$id","","mapa","$buscar","$item","");
//header('Content-Type: application/json'); //header('Content-Type: application/json');
echo "let geojsonSample = ["; echo "let geojsonSample = [";

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

BIN
images/iconos/pin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 907 B

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -21,14 +21,8 @@ if ((!$file=realpath($dir.$_GET['file']))
$ref=@$_SERVER['HTTP_REFERER']; $ref=@$_SERVER['HTTP_REFERER'];
if (strpos($ref,'https://')===0 || strpos($ref,'https')!==0){ if (strpos($ref,'https://')===0 || strpos($ref,'https')!==0){
$mime=array( $mime=array(
'PEG'=>'image/jpeg',
'JPEG'=>'image/jpeg',
'JPG'=>'image/jpeg',
'jpg'=>'image/jpeg', 'jpg'=>'image/jpeg',
'peg'=>'image/jpeg',
'jpeg'=>'image/jpeg',
'png'=>'image/png', 'png'=>'image/png',
'PNG'=>'image/png',
'mid'=>'audio/x-midi', 'mid'=>'audio/x-midi',
'wav'=>'audio/x-wav' 'wav'=>'audio/x-wav'
); );
@ -40,13 +34,12 @@ if (strpos($ref,'https://')===0 || strpos($ref,'https')!==0){
} }
$stat=stat($file); $stat=stat($file);
header('Content-Type: '.$mime[substr($file,-3)]); header('Content-Type: '.$mime[substr($file,-3)]);
// header('Content-Length: '.$stat[7]); header('Content-Length: '.$stat[7]);
header('Last-Modified: '.gmdate('D, d M Y H:i:s',$stat[9]).' GMT'); header('Last-Modified: '.gmdate('D, d M Y H:i:s',$stat[9]).' GMT');
@readfile($file); readfile($file);
exit(); exit();
} }
header('Pragma: no-cache'); header('Pragma: no-cache');
header('Cache-Control: no-cache, no-store, must-revalidate'); header('Cache-Control: no-cache, no-store, must-revalidate');
//include($file.'.php'); include($file.'.php');
?> ?>

View File

@ -32,9 +32,7 @@ if (move_uploaded_file($_FILES["$campo"]['tmp_name'], $fichero_subido)) {
} }
function miniaturizar($file,$width,$directorio) { //$archivo = $file; function miniaturizar($file,$width,$directorio) { //$archivo = $file;
$archivo = "$directorio"."full/".$file; $file_info = getimagesize($archivo); $ratio = $file_info[0] / $file_info[1]; $newwidth = $width; $newheight = round($newwidth / $ratio); $ext = explode(".", $file); $archivo = "$directorio"."full/".$file; $file_info = getimagesize($archivo); $ratio = $file_info[0] / $file_info[1]; $newwidth = $width; $newheight = round($newwidth / $ratio); $ext = explode(".", $file); $ext = strtolower($ext[count($ext) - 1]); if ($ext == "jpeg") $ext = "jpg"; switch ($ext) { case "jpg": $img = imagecreatefromjpeg($archivo); // $img = imagecreatefromstring($archivo); break; case "png": $img = imagecreatefrompng($archivo); break; case "gif": $img = imagecreatefromgif($archivo); break; } $thumb = imagecreatetruecolor($newwidth, $newheight);
$ext = strtolower($ext[count($ext) - 1]);
if ($ext == "jpeg") $ext = "jpg";switch ($ext) { case "jpg": $img = imagecreatefromjpeg($archivo); // $img = imagecreatefromstring($archivo); break; case "png": $img = imagecreatefrompng($archivo); break; case "gif": $img = imagecreatefromgif($archivo); break; } $thumb = imagecreatetruecolor($newwidth, $newheight);
imagealphablending( $thumb, false ); imagealphablending( $thumb, false );
imagesavealpha( $thumb, true ); imagecopyresampled($thumb, $img, 0, 0, 0, 0, $newwidth, $newheight, $file_info[0], $file_info[1]); imagesavealpha( $thumb, true ); imagecopyresampled($thumb, $img, 0, 0, 0, 0, $newwidth, $newheight, $file_info[0], $file_info[1]);
if($ext=="jpg") { imagejpeg($thumb,$directorio.$width."/$file", 80); if($ext=="jpg") { imagejpeg($thumb,$directorio.$width."/$file", 80);
@ -44,3 +42,5 @@ imagepng($thumb,$directorio.$width."/$file", 9);
} }
?> ?>

View File

@ -211,7 +211,7 @@ legend.legend-area {
</style> </style>
</head> </head>
<body > <body onload="revisarSession()"; >
<?php if($embebido ==1) { <?php if($embebido ==1) {
if($form!=''){ echo formulario_embebido($form,$opciones);} if($form!=''){ echo formulario_embebido($form,$opciones);}
elseif($identificador !='') { echo mostrar_identificador($identificador,$id);} elseif($identificador !='') { echo mostrar_identificador($identificador,$id);}
@ -256,14 +256,13 @@ else{}
<div class='row'> <div class='row'>
<div id='' class='col-sm-6'> <div id='' class='col-sm-6'>
<?php /* $sesion = "<pre>".print_r($_SESSION,true)."</pre>"; if(isset($_SESSION['id'])){ echo " <?php if(isset($_SESSION['id'])){ echo "
$sesion <form id='manejo_sesion' name='form_session' class='navbar-form navbar-left'> <form id='manejo_sesion' name='form_session' class='navbar-form navbar-left'>
<div class='input-group'> <div class='input-group'>
<input type='text' name='tiempo_session' size='18' class='form-control input-sm' readonly> <input type='text' name='tiempo_session' size='18' class='form-control input-sm' readonly>
<span class='input-group-addon'><a href='#' onclick=\"location.reload();\" title='Renovar'><span class='glyphicon glyphicon-refresh' aria-hidden='true'></span></a></span> <span class='input-group-addon'><a href='#' onclick=\"location.reload();\" title='Renovar'><span class='glyphicon glyphicon-refresh' aria-hidden='true'></span></a></span>
</div> </div>
</form> "; }else{ echo "/ $sesion /<input type='text' name='tiempo_session' size='18' class='form-control input-sm' readonly>";} </form> "; } ?>
*/ ?>
<?php <?php
///echo adjuntar_basico('33'); ///echo adjuntar_basico('33');

View File

@ -1,214 +0,0 @@
mapboxgl.accessToken = 'pk.eyJ1IjoieXVuamllIiwiYSI6ImNpZnd0ZjZkczNjNHd0Mm0xcGRoc21nY28ifQ.8lFXo9aC9PfoKQF9ywWW-g';
//var sfmapbox = [-122.413692, 37.775712];
var sfmapbox = [-72, 4];
// sfmapbox = [-122,37];
var mylocation = sfmapbox;
var taxon_active = 'Plantae';
var markers = {};
var marker_me;
// Create a new dark theme map
var map = new mapboxgl.Map({
container: 'map', // container id
style: 'mapbox://styles/mapbox/outdoors-v9', //stylesheet location
center: sfmapbox, // Center of USA
zoom: 12, // starting zoom
// minZoom: 11,
});
map.on('load', function() {
// Disable scroll in posts
if (window.location.search.indexOf('embed') !== -1) map.scrollZoom.disable();
//Add controls for navigation, geocoding and geolocation
var geocoder = new mapboxgl.Geocoder();
map.addControl(geocoder);
map.addControl ( new mapboxgl.Navigation({ position: 'top-left' }) );
var geolocator = new mapboxgl.Geolocate({ position: 'top-left' });
map.addControl(geolocator);
//go to SF and retrieve data
mapMe(mylocation);
getObservation(mylocation, taxon_active);
//Toggle icons in the event of zoom change
map.on('zoom', function() {
var zoom = map.getZoom();
$('.marker').each(function() {
checkZoom(this, zoom);
});
});
//Interact with taxas buttons
$('.button').on('click', function() {
$('.button').removeClass('active');
$(this).addClass('active');
taxon_active = $(this).attr('id');
getObservation(mylocation, taxon_active);
$('.mapboxgl-popup') ? $('.mapboxgl-popup').remove() : null;
});
//Redo quest on location change
geocoder.on('result', function(e) {
// window.alert('new location: ' + e.result.center);
mylocation = e.result.center;
getObservation(mylocation, taxon_active);
mapMe(mylocation);
$('.mapboxgl-popup') ? $('.mapboxgl-popup').remove() : null;
});
//Redo quest on geolocation
geolocator.on('geolocate', function(position) {
mylocation = [position.coords.longitude, position.coords.latitude];
map.zoomTo(12);
mapMe(mylocation);
getObservation(mylocation, taxon_active);
});
//Mobile friendly
$('#info').on('click', function() {
if ( $('#introduction').is(':visible') ) {
$('#introduction').hide();
$('#info').css('background-image', 'url(img/arrow_down.svg)');
$('#sidebar').css('height', '150px');
} else {
$('#introduction').show();
$('#info').css("background-image", 'url(img/arrow_up.svg)');
$('#sidebar').css('height', '240px');
}
})
});
// Map the user location using a marker called me
function mapMe(location) {
if (!document.getElementById('me')) {
var me = document.createElement('div');
me.id = "me";
me.style.backgroundImage = 'url(img/icon_me.png)';
marker_me = new mapboxgl.Marker(me)
.setLngLat(location)
.addTo(map);
} else {
marker_me.setLngLat(location);
}
map.flyTo({ 'center': location, 'zoom': 12 });
}
// Retrieve from API, map the markers to the map, and save relevant data in html. Pop-ups for marker on click.
function getObservation(location, taxon) {
$('.loading').show();
// clean up previous markers
for (marker in markers) {
markers[marker].remove();
}
markers = {};
//create url
var iNat_url = createURL(location, taxon);
// get results from url
try {
iNat_results = $.getJSON(iNat_url, function() {
// console.log("API results: ", iNat_results.responseJSON.results);
// Update count in html description
$('#count').html(iNat_results.responseJSON.features.length);
// Used for marker change on zoom level
var zoom = map.getZoom();
// Iterate through all API results
iNat_results.responseJSON.features.forEach(function(marker) {
// create an img element for the marker
var el = document.createElement('div');
el.className = 'marker';
//img_url = marker.photos[0].url;
img_url = marker.properties.imagen;
// text description for popup
var species = marker.species_guess ? marker.species_guess : 'Unknown';
//var user = marker.user.name ? marker.user.name : 'Anonymous';
var user = marker.properties.title ? marker.properties.title : 'Anonymous';
text = species + ' observed on ' + marker.properties.time + ' by ' + user + ' - ';
text = text.charAt(0).toUpperCase() + text.substr(1);
// img_url = img_url.replace("http", "https");
//$(el).attr('data-img', img_url);
$(el).attr('data-img', img_url);
// $(el).attr('data-taxon', taxon);
//$(el).attr('data-text', text);
$(el).attr('data-text', marker.properties.title);
$(el).attr('html', marker.properties.description);
//$(el).html(marker.properties.description);
$(el).attr('data-link', marker.properties.uri);
$(el).attr('data-link', marker.properties.imagen);
//$(el).attr('data-latlon', marker.geojson.coordinates);
$(el).attr('data-latlon', marker.geometry.coordinates);
// Map to the map with markers for the current zoomlevel
checkZoom(el, zoom);
// add marker to map
// markers[marker.id] = new mapboxgl.Marker(el)
markers[marker.control] = new mapboxgl.Marker(el)
// .setLngLat(marker.geojson.coordinates)
.setLngLat(marker.geometry.coordinates)
.addTo(map);
});
$('.loading').hide();
// markers on click
$('.marker').click(function(e) {
e.stopPropagation();
var latlon = $(this).attr('data-latlon').split(",");
latlon = [Number(latlon[0]), Number(latlon[1])];
var descripcion = $(this).attr('html');//.replace('square', 'medium');
$('.mapboxgl-popup') ? $('.mapboxgl-popup').remove() : null;
var popup = new mapboxgl.Popup()
.setLngLat(latlon)
.setHTML(descripcion)
.addTo(map);
});
});
} catch (e) {
window.alert("API not working properly :(")
}
}
// Create the url for API request
function createURL(location, taxon) {
//url = ['https://api.inaturalist.org/v1/observations?geo=true&native=true&photos=true&lat=',location[1], '&lng=', location[0], '&radius=5&iconic_taxa=', taxon, '&order=desc&order_by=created_at'].join('');
url = ['http://localhost/tupali/archivos/74.geojson'].join('');
console.log("API url: ", url);
return url;
}
// Check what zoom level for what markers, then map to map
function checkZoom(marker, zoom) {
var img;
if (zoom < 12) {
$(marker).addClass('sm');
// img = 'url(img/marker_' + $(marker).attr('data-taxon').toLowerCase() + '.png)';
// img = 'url(img/marker_' + $(marker).attr('data-taxon').toLowerCase() + '.png)';
img = 'url(https://tupale.co/milfs/images/secure/?file=150/da6d16547658ebc06c5378b30d1ee4bf.png)';
$(marker).css("background-image", img);
} else {
$(marker).removeClass('sm');
img = 'url(' + $(marker).attr('data-img') + ')';
// img = 'url(https://tupale.co/milfs/images/secure/?file=150/da6d16547658ebc06c5378b30d1ee4bf.png)';
$(marker).css("background-image", img);
};
}

View File

@ -9,30 +9,24 @@ function delayTimer() {
var delayFunction = delayTimer(); var delayFunction = delayTimer();
function setCookie(cname, cvalue, exdays) {
var d = new Date(); function revisarSession(){
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
var expires = "expires=" + d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
function revisarSession(sesion){
tiempo = "30"; tiempo = "30";
gavela="19"; gavela="19";
timestamp = Math.round(Date.now() /1000); timestamp = Math.round(Date.now() /1000)
inicio = sesion;//leerCookie("timestamp"); inicio = leerCookie("timestamp");
transcurrido = (timestamp - inicio); transcurrido = (timestamp - inicio);
transcurrido_minutos = Math.round(transcurrido/60); transcurrido_minutos = Math.round(transcurrido/60);
restante = (tiempo - transcurrido_minutos); restante = (tiempo - transcurrido_minutos);
prefin = (tiempo*60)-transcurrido; prefin = (tiempo*60)-transcurrido;
//sesion = "hola";
document.form_session.tiempo_session.value = "Cierra en: "+restante+" minutos ("+transcurrido+" "+sesion+") "; document.form_session.tiempo_session.value = "Cierra en: "+restante+" minutos ";
if(restante == 1 ){ if(restante == 1 ){
//alert(transcurrido); //alert(transcurrido);
location.href="../../salir.php"; location.href="../../salir.php";
}else{ }else{
setTimeout("revisarSession("+sesion+")",2000) ; setTimeout("revisarSession()",2000) ;
} }
} }
@ -628,3 +622,6 @@ else if (document.all) document.all[''+id+''].style.visibility = "hidden"
else if (document.getElementById) document.getElementById(''+id+'').style.visibility = "hidden" else if (document.getElementById) document.getElementById(''+id+'').style.visibility = "hidden"
} }
} }

View File

@ -16,7 +16,7 @@
integrity="sha512-nMMmRyTVoLYqjP9hrbed9S+FzjZHW5gY1TWCHA5ckwXZBadntCNs8kEqAWdrb9O7rxbCaA4lKTIWjDXZxflOcA==" integrity="sha512-nMMmRyTVoLYqjP9hrbed9S+FzjZHW5gY1TWCHA5ckwXZBadntCNs8kEqAWdrb9O7rxbCaA4lKTIWjDXZxflOcA=="
crossorigin=""></script> crossorigin=""></script>
--> -->
<script src="js/scripts.js"></script>
<link rel="stylesheet" href="librerias/leaflet/leaflet.css"/> <link rel="stylesheet" href="librerias/leaflet/leaflet.css"/>
<script src="librerias/leaflet/leaflet.js"></script> <script src="librerias/leaflet/leaflet.js"></script>
<style> <style>
@ -29,30 +29,13 @@
<div id='map'></div> <div id='map'></div>
<?php <?php
sleep(2);
$ubicacion = $_COOKIE['ubicacion'];
$coordenadas = explode("|",$ubicacion);
if($coordenadas[0] !="" AND $coordenadas[1] !="" ){
$lon = $coordenadas[0];
$lat = $coordenadas[1];
$zoom = "20";
}else{
if ($_REQUEST['lat'] !='') {$lat=$_REQUEST['lat'];}else {$lat= "-72";} if ($_REQUEST['lat'] !='') {$lat=$_REQUEST['lat'];}else {$lat= "-72";}
if ($_REQUEST['lon'] !='') {$lon=$_REQUEST['lon'];}else {$lon= "4";} if ($_REQUEST['lon'] !='') {$lon=$_REQUEST['lon'];}else {$lon= "4";}
if ($_REQUEST['zoom'] !='') {$zoom=$_REQUEST['zoom'];}else {$zoom= "20";} if ($_REQUEST['zoom'] !='') {$zoom=$_REQUEST['zoom'];}else {$zoom= "20";}
}
?> ?>
<script> <script>
//var e.latlng= localizacion;
//alert(localizacion);
var map = L.map('map') var map = L.map('map')
.setView([<?php echo $lon ?>, <?php echo $lat ?>], <?php echo $zoom ?>); .setView([<?php echo $lon ?>, <?php echo $lat ?>], <?php echo $zoom ?>);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map); L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);