Prueba de concepto mapbox-gl
This commit is contained in:
parent
245422b268
commit
0864124180
10886
archivos/74.geojson
Normal file
10886
archivos/74.geojson
Normal file
File diff suppressed because it is too large
Load Diff
400
labmapero.php
400
labmapero.php
@ -1,360 +1,64 @@
|
|||||||
<?php session_start();
|
|
||||||
if(isset($_REQUEST['debug'])) {ini_set('display_errors', 'On');}
|
|
||||||
require ('milfs/xajax/xajax.inc.php');
|
|
||||||
$xajax = new xajax();
|
|
||||||
//require ('json.lab.php');
|
|
||||||
require ('milfs/funciones/funciones.php');
|
|
||||||
require ("milfs/funciones/conex.php");
|
|
||||||
include ('milfs/librerias/parsedown/Parsedown.php');
|
|
||||||
//require_once ('includes/markdown.php');
|
|
||||||
//require ('funciones/convert.php');
|
|
||||||
$xajax->processRequests();
|
|
||||||
//if($_REQUEST[id2] =='') {$agregar= $_REQUEST[id];}else {$agregar = $_REQUEST[id2];}
|
|
||||||
if(isset($_REQUEST['categoria']) AND isset($_REQUEST['buscar'])) {
|
|
||||||
$cadena_busqueda = "$_REQUEST[buscar]";
|
|
||||||
$_REQUEST['buscar'] = "$_REQUEST[categoria]:$_REQUEST[buscar]";
|
|
||||||
}
|
|
||||||
$formulario_nombre = remplacetas('form_id','id',$_REQUEST[id],'nombre',"","") ;
|
|
||||||
$formulario_descripcion = remplacetas('form_id','id',$_REQUEST[id],'descripcion',"","") ;
|
|
||||||
$descripcion_meta = preg_replace("[\n|\r|\n\r|\t]",'', strip_tags($formulario_descripcion[0]));
|
|
||||||
$agregar_nombre = remplacetas('form_id','id',$agregar,'nombre',"","") ;
|
|
||||||
$id_empresa = remplacetas('form_id','id',$_REQUEST[id],'id_empresa',"","") ;
|
|
||||||
$twitter = remplacetas('empresa','id',"$id_empresa[0]",'twitter','',"","") ;
|
|
||||||
if($twitter[0] =="") {$twitter[0] ="@tupaleCo";}
|
|
||||||
$logo = remplacetas('empresa','id',"$id_empresa[0]",'imagen','',"","") ;
|
|
||||||
$razon_social = remplacetas('empresa','id',"$id_empresa[0]",'razon_social','',"","") ;
|
|
||||||
$campos_formulario = input_campos("$_REQUEST[id]","categoria");
|
|
||||||
$uri = "$_SERVER[SERVER_NAME]/$_SERVER[REQUEST_URI]";
|
|
||||||
$background_imagen = buscar_imagen("$_REQUEST[id]","","","$id_empresa");
|
|
||||||
$plantilla ="mapa";
|
|
||||||
$categorias = lista_categorias($_REQUEST['id'],'','mapa') ;
|
|
||||||
|
|
||||||
$proveedor_mapa = remplacetas('form_parametrizacion','campo',$_REQUEST['id'],'descripcion'," tabla='form_id' and opcion = 'proveedor_mapa'") ;;
|
|
||||||
if($proveedor_mapa[0] !=""){
|
|
||||||
$proveedor ="'$proveedor_mapa[0]'";
|
|
||||||
}else{
|
|
||||||
$proveedor = "'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'";
|
|
||||||
|
|
||||||
}
|
|
||||||
$buscador ="
|
|
||||||
<form action='?id='$_REQUEST[id]' method='get'>
|
|
||||||
|
|
||||||
<input type='hidden' id='id' name='id' value='$_REQUEST[id]' >
|
|
||||||
$campos_formulario'
|
|
||||||
<div id='div_campos'></div>
|
|
||||||
|
|
||||||
<input type='text' id='buscar' name='buscar' class='form-control ' placeholder='Buscar' >
|
|
||||||
<br>
|
|
||||||
<input type='submit' class='btn btn-info btn-block ' value='Buscar'>
|
|
||||||
|
|
||||||
|
|
||||||
</form>
|
|
||||||
<hr>
|
|
||||||
";
|
|
||||||
?>
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html>
|
||||||
<head >
|
<head>
|
||||||
<title><?php echo "$formulario_nombre[0] / $cadena_busqueda" ?> tupale.co</title>
|
<meta charset="utf-8" />
|
||||||
<meta charset="utf-8">
|
<title>Add custom icons with Markers</title>
|
||||||
<!-- <meta name="viewport" content="user-scalable=no, width=device-width, maximum-scale=1, initial-scale=1"> -->
|
<meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<script src="https://api.mapbox.com/mapbox-gl-js/v1.10.0/mapbox-gl.js"></script>
|
||||||
<!-- <meta name="viewport" content="width=device-width, initial-scale=1"> -->
|
<link href="https://api.mapbox.com/mapbox-gl-js/v1.10.0/mapbox-gl.css" rel="stylesheet" />
|
||||||
<meta name="description" content="">
|
<style>
|
||||||
<meta NAME="Language" CONTENT="Spanish">
|
body { margin: 0; padding: 0; }
|
||||||
|
#map { position: absolute; top: 0; bottom: 0; width: 100%; }
|
||||||
<meta NAME="Revisit" CONTENT="1 days">
|
</style>
|
||||||
<meta NAME="Distribution" CONTENT="Global">
|
|
||||||
<meta NAME="Robots" CONTENT="All">
|
|
||||||
<meta name="twitter:card" content="summary">
|
|
||||||
<meta name="twitter:site" content="<?php echo $twitter[0]; ?>">
|
|
||||||
<meta name="twitter:creator" content="@qwerty_co">
|
|
||||||
<meta name="twitter:url" content="<?php echo $uri ; ?>">
|
|
||||||
<meta name="twitter:title" content="<?php echo "$formulario_nombre[0] / $cadena_busqueda" ?> tupale.co">
|
|
||||||
<meta name="twitter:description" content=" <?php echo $descripcion_meta; ?>">
|
|
||||||
<meta name="twitter:image" content="<?php echo "$_SESSION[url]images/secure/?file=full/$background_imagen"; ?>">
|
|
||||||
<meta property="og:type" content="article">
|
|
||||||
<meta property="og:title" content="<?php echo "$formulario_nombre[0] / $cadena_busqueda" ?> tupale.co" />
|
|
||||||
<meta property="og:type" content="website" />
|
|
||||||
<meta property="og:url" content="<?php echo "$uri"; ?>" />
|
|
||||||
<meta property="og:image" content="<?php echo "$_SESSION[url]images/secure/?file=full/$background_imagen"; ?>" />
|
|
||||||
<meta property="og:site_name" content="<?php echo $razon_social[0]; ?>" />
|
|
||||||
<meta property="og:description" content=" <?php echo $descripcion_meta; ?>" />
|
|
||||||
<link rel="shortcut icon" href="<?php echo "milfs/images/secure/?file=150/$logo[0]"; ?>">
|
|
||||||
<?php $xajax->printJavascript("milfs/xajax/"); ?>
|
|
||||||
<link rel="shortcut icon" href="favicon-152.png">
|
|
||||||
<link rel="apple-touch-icon-precomposed" href="favicon-152.png">
|
|
||||||
<link rel="stylesheet" href="librerias/leaflet/leaflet.css" />
|
|
||||||
<script src="milfs/js/scripts.js"></script>
|
|
||||||
<?php
|
|
||||||
$otro_json = remplacetas('form_parametrizacion','campo',$_REQUEST[id],'descripcion'," tabla='form_id' and opcion = 'json'","","") ;;
|
|
||||||
//$obj = file_get_contents('https://www.kleper.net/wiki/RutaPazTerritorial.geojson');
|
|
||||||
$ids = json_decode($otro_json[0]);
|
|
||||||
foreach ($ids as $clave => $valor) {
|
|
||||||
if($valor !=""){
|
|
||||||
|
|
||||||
|
|
||||||
$obj=file_get_contents("$valor[0]");
|
|
||||||
$li .="<script>var geojsonAuxiliar_$clave = $obj ;</script>";
|
|
||||||
$layer .= "
|
|
||||||
var geojsonAux_$clave = L.geoJson(geojsonAuxiliar_$clave, {
|
|
||||||
|
|
||||||
pointToLayer: function(feature, latlng) {
|
|
||||||
var smallIcon = new L.Icon({
|
|
||||||
iconSize: [100, 100],
|
|
||||||
iconAnchor: [13, 27],
|
|
||||||
popupAnchor: [1, -24],
|
|
||||||
className: 'mapIcon',
|
|
||||||
/*iconUrl: feature.properties.icon.iconUrl*/
|
|
||||||
iconUrl: 'https://tupale.co/milfs/images/secure/?file=150/da6d16547658ebc06c5378b30d1ee4bf.png'
|
|
||||||
|
|
||||||
});
|
|
||||||
return L.marker(latlng, {icon: smallIcon});
|
|
||||||
},
|
|
||||||
|
|
||||||
onEachFeature: function(feature, layer) {
|
|
||||||
var popupText = feature.properties.description
|
|
||||||
|
|
||||||
|
|
||||||
layer.bindPopup(popupText); }
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
";
|
|
||||||
$add_layer .= "markers.addLayer(geojsonAux_$clave);";
|
|
||||||
$capas_nombre .="geojsonAux_$clave,";
|
|
||||||
$capas .= "{
|
|
||||||
'$clave': geojsonAux_$clave
|
|
||||||
};";
|
|
||||||
$overlays ="
|
|
||||||
var overlays = $capas ";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
echo $li;
|
|
||||||
|
|
||||||
?>
|
|
||||||
|
|
||||||
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
|
||||||
<link href="librerias/font-awesome/css/font-awesome.min.css" rel="stylesheet">
|
|
||||||
<link rel="stylesheet" href="librerias/leaflet/css/leaflet-sidebar.css" />
|
|
||||||
<link rel="stylesheet" href="librerias/bootstrap/css/bootstrap.min.css" />
|
|
||||||
<?php
|
|
||||||
$hoja_css = remplacetas('form_parametrizacion','campo',"index",'descripcion'," tabla='hoja_css' and opcion = 'hoja_css' and id_empresa = '$id_empresa[0]'") ;
|
|
||||||
if ($hoja_css[0] ==""){ $hoja_estilo ="<link href='./milfs/css/style.css' rel='stylesheet'>";}
|
|
||||||
else{ $hoja_estilo ="<link href='$hoja_css[0]' rel='stylesheet'>";}
|
|
||||||
print $hoja_estilo;
|
|
||||||
$css_adicional = remplacetas('form_parametrizacion','campo',"index",'descripcion'," tabla='css' and opcion = 'adicional' and id_empresa = '$empresa[0]'") ;
|
|
||||||
if($css_adicional[0] !="") {
|
|
||||||
$css_adicional ="<style >
|
|
||||||
|
|
||||||
$css_adicional[0]
|
|
||||||
</style>";
|
|
||||||
}
|
|
||||||
|
|
||||||
print $css_adicional[0];
|
|
||||||
?>
|
|
||||||
<style>
|
|
||||||
body {
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
html, body, #map {
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body onload="">
|
<body>
|
||||||
<!-- modal -->
|
<style>
|
||||||
<div class='modal fade ' id='muestraInfo' tabindex='-1' role='dialog' aria-labelledby='myModalLabel' aria-hidden='true' data-backdrop='static' data-keyboard='false'>
|
.marker {
|
||||||
<div class='modal-dialog modal-MD' style='' >
|
display: block;
|
||||||
<div class='modal-content'>
|
border: none;
|
||||||
<div class='modal-header' >
|
border-radius: 50%;
|
||||||
<button type='button' class='close' data-dismiss='modal' aria-hidden='true'>×</button>
|
cursor: pointer;
|
||||||
<h4 class='modal-title' id='myModalLabel_info'><div id='titulo_modal'></div></h4>
|
padding: 0;
|
||||||
</div>
|
|
||||||
<div class='modal-body'>
|
|
||||||
<div id='muestra_form'></div>
|
|
||||||
</div>
|
|
||||||
<div class='modal-footer' id='pie_modal'>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- modal -->
|
|
||||||
|
|
||||||
<!-- optionally define the sidebar content via HTML markup -->
|
|
||||||
<div id="sidebar" class="leaflet-sidebar collapsed">
|
|
||||||
|
|
||||||
<!-- nav tabs -->
|
|
||||||
<div class="leaflet-sidebar-tabs" >
|
|
||||||
<!-- top aligned tabs -->
|
|
||||||
<ul role="tablist">
|
|
||||||
<li><a href="#home" role="tab"><i class="fa fa-bars active"></i></a></li>
|
|
||||||
<li><a href="#search" role="tab"><i class="fa fa-search active"></i></a></li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<!-- bottom aligned tabs -->
|
|
||||||
|
|
||||||
<ul role="tablist">
|
|
||||||
<li><a href="https://tupale.co"><img title='Powered by Tupale.co' alt='http://tupale.co' class='img img-responsive' src='https://tupale.co/images/icons/icon-152x152.png'></a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- panel content -->
|
|
||||||
<div class="leaflet-sidebar-content">
|
|
||||||
<div class="leaflet-sidebar-pane" id="home">
|
|
||||||
<h1 class="leaflet-sidebar-header">
|
|
||||||
<span id='formulario_titulo_mapa'><?php echo $formulario_nombre[0] ?></span>
|
|
||||||
<span class="leaflet-sidebar-close"><i class="fa fa-caret-left"></i></span>
|
|
||||||
</h1>
|
|
||||||
<hr>
|
|
||||||
<label id='formulario_descripcion_mapa'><?php echo $formulario_descripcion[0] ?></label>
|
|
||||||
<center>
|
|
||||||
|
|
||||||
<span class="label label-warning">Click en el mapa para agregar datos.</span>
|
|
||||||
</center>
|
|
||||||
|
|
||||||
<hr>
|
|
||||||
<div id='div_categorias'>
|
|
||||||
<?php echo $categorias; ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="leaflet-sidebar-pane" id="search">
|
|
||||||
<label>Buscar en el Mapa</label>
|
|
||||||
<?php echo $buscador; ?>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="map" title='Click en el mapa para agregar datos.'></div>
|
|
||||||
|
|
||||||
|
|
||||||
<script src="librerias/leaflet/leaflet.js" crossorigin=""></script>
|
|
||||||
<script src="librerias/leaflet/leaflet-providers.js"></script>
|
|
||||||
<script src="librerias/leaflet/js/leaflet-sidebar.js"></script>
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="librerias/leaflet/dist/MarkerCluster.css" />
|
|
||||||
<link rel="stylesheet" href="librerias/leaflet/dist/MarkerCluster.Default.css" />
|
|
||||||
<script src="librerias/leaflet/dist/leaflet.markercluster-src.js"></script>
|
|
||||||
<script src="https://code.jquery.com/jquery-3.3.1.js" ></script>
|
|
||||||
<script src="./librerias/bootstrap/js/bootstrap.min.js" ></script>
|
|
||||||
|
|
||||||
<!-- <script src="librerias/jquery/jquery-2.1.4.min.js"></script> -->
|
|
||||||
<?php $cadena_busqueda = $_REQUEST['buscar']; ?>
|
|
||||||
|
|
||||||
<script type="text/javascript" src="milfs/geojson.js.php?id=<?php echo $_REQUEST['id'] ?>&buscar=<?php echo $cadena_busqueda ?>&item=<?php echo $_REQUEST['item'] ?>"></script>
|
|
||||||
<script src="https://unpkg.com/leaflet-responsive-popup@0.6.4/leaflet.responsive.popup.js"></script>
|
|
||||||
<link rel="stylesheet" href="https://unpkg.com/leaflet-responsive-popup@0.6.4/leaflet.responsive.popup.css" />
|
|
||||||
|
|
||||||
<script>
|
|
||||||
// standard leaflet map setup ??
|
|
||||||
var map = L.map('map');
|
|
||||||
// map.setView([51.2, 7], 9);
|
|
||||||
|
|
||||||
// L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
|
||||||
//L.tileLayer.provider('Stamen.Watercolor').addTo(map);
|
|
||||||
L.tileLayer(<?php echo $proveedor; ?>, {
|
|
||||||
maxZoom: 19,
|
|
||||||
attribution: "Map data © OpenStreetMap contributors <a href='https://tupale.co'>Powered by Tupale.co</a>"
|
|
||||||
}).addTo(map);
|
|
||||||
|
|
||||||
|
|
||||||
var geojson = L.geoJson(geojsonSample, {
|
|
||||||
|
|
||||||
pointToLayer: function(feature, latlng) {
|
|
||||||
var smallIcon = new L.Icon({
|
|
||||||
iconSize: [70, 70],
|
|
||||||
iconAnchor: [13, 27],
|
|
||||||
popupAnchor: [1, -24],
|
|
||||||
autoPanPadding: [30,30],
|
|
||||||
className: 'mapIcon',
|
|
||||||
|
|
||||||
iconUrl: feature.properties.icon.iconUrl
|
|
||||||
|
|
||||||
|
|
||||||
});
|
|
||||||
return L.marker(latlng, {icon: smallIcon });
|
|
||||||
},
|
|
||||||
|
|
||||||
onEachFeature: function(feature, layer) {
|
|
||||||
layer._leaflet_id = feature.properties.control;
|
|
||||||
|
|
||||||
var popupText = L.responsivePopup().setContent(feature.properties.description );
|
|
||||||
layer.bindPopup(popupText, {
|
|
||||||
maxWidth: 200
|
|
||||||
});
|
|
||||||
layer.bindTooltip(feature.properties.title).openTooltip();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
<?php echo $layer; ?>
|
|
||||||
|
|
||||||
// markers.addLayer(geojsonAux);
|
|
||||||
|
|
||||||
|
|
||||||
var markers = L.markerClusterGroup();
|
|
||||||
// var markers = L.layerGroup();
|
|
||||||
|
|
||||||
|
|
||||||
markers.addLayer(geojson).addTo(map);
|
|
||||||
|
|
||||||
<?php echo $add_layer; ?>
|
|
||||||
map.fitBounds(geojson.getBounds().pad(Math.sqrt(2) /4));
|
|
||||||
|
|
||||||
// create the sidebar instance and add it to the map
|
|
||||||
var sidebar = L.control.sidebar({ container: 'sidebar', autopan: true })
|
|
||||||
.addTo(map)
|
|
||||||
.open('home');
|
|
||||||
|
|
||||||
function openMarkerPopup(e){
|
|
||||||
const markerID = e.id;
|
|
||||||
const marker = markers.getLayer(markerID);
|
|
||||||
marker.openPopup();
|
|
||||||
}
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
function onMapClick(e) {
|
<div id="map"></div>
|
||||||
var coordenadas =""+e.latlng.lat+"|"+e.latlng.lng;
|
|
||||||
setCookie('ubicacion',coordenadas, 1);
|
|
||||||
// alert("You clicked the map at " + e.latlng);
|
|
||||||
sidebar.close();
|
|
||||||
xajax_formulario_embebido_ajax("","<?php echo $_REQUEST[id]; ?>","","");
|
|
||||||
}
|
|
||||||
|
|
||||||
map.on('click', onMapClick);
|
<script>
|
||||||
// add panels dynamically to the sidebar
|
mapboxgl.accessToken = 'pk.eyJ1IjoiaHVtYW5vIiwiYSI6IlgyRTFNdFEifQ.OmQBXmcVg_zq-vMpr8P5vQ';
|
||||||
|
//var geojson = 'http://localhost/tupali/cache/gatos.geojson';
|
||||||
|
|
||||||
|
var map = new mapboxgl.Map({
|
||||||
|
container: 'map',
|
||||||
|
style: 'mapbox://styles/mapbox/streets-v11',
|
||||||
|
center: [-65.017, -16.457],
|
||||||
|
zoom: 5
|
||||||
|
});
|
||||||
|
|
||||||
|
map.addSource('geojson', {
|
||||||
|
type: 'geojson',
|
||||||
|
data: 'http://localhost/tupali/cache/gatos.geojson'
|
||||||
|
});
|
||||||
|
// add markers to map
|
||||||
|
geojson.features.forEach(function(marker) {
|
||||||
|
// create a DOM element for the marker
|
||||||
|
var el = document.createElement('div');
|
||||||
|
el.className = 'marker';
|
||||||
|
//el.style.backgroundImage ='url(https://placekitten.com/g/' +marker.properties.iconSize.join('/') +'/)';
|
||||||
|
el.style.backgroundImage ='url(https://tupale.co/milfs/images/secure/?file=150/da6d16547658ebc06c5378b30d1ee4bf.png)';
|
||||||
|
el.style.width = marker.properties.iconSize[0] + 'px';
|
||||||
|
el.style.height = marker.properties.iconSize[1] + 'px';
|
||||||
|
|
||||||
sidebar.on('content', function (ev) {
|
el.addEventListener('click', function() {
|
||||||
switch (ev.id) {
|
window.alert(marker.properties.message);
|
||||||
|
});
|
||||||
|
|
||||||
case 'autopan':
|
// add marker to map
|
||||||
sidebar.options.autopan = true;
|
new mapboxgl.Marker(el)
|
||||||
break;
|
.setLngLat(marker.geometry.coordinates)
|
||||||
default:sidebar.options.autopan = true;
|
.addTo(map);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<script language="JavaScript">
|
|
||||||
if (screen.width<1024)
|
|
||||||
//codigo resolución pequeña
|
|
||||||
sidebar.close();
|
|
||||||
else
|
|
||||||
|
|
||||||
sidebar.open();
|
|
||||||
</script>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
236
maperogl.php
Normal file
236
maperogl.php
Normal file
@ -0,0 +1,236 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset='utf-8' />
|
||||||
|
<title>Tupale.co</title>
|
||||||
|
<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
|
||||||
|
<script src='https://api.tiles.mapbox.com/mapbox-gl-js/v1.7.0/mapbox-gl.js'></script>
|
||||||
|
<link href='https://api.tiles.mapbox.com/mapbox-gl-js/v1.7.0/mapbox-gl.css' rel='stylesheet' />
|
||||||
|
<link href='https://www.mapbox.com/base/latest/base.css' rel='stylesheet' />
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#map {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map-overlay {
|
||||||
|
position: absolute;
|
||||||
|
width: 180px;
|
||||||
|
top: 0;
|
||||||
|
left: 10px;
|
||||||
|
padding: 10px;
|
||||||
|
margin-left: 5px;
|
||||||
|
margin-top: 2px;
|
||||||
|
margin-bottom: 2px;
|
||||||
|
margin-right: 5px;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map-overlay .map-overlay-inner {
|
||||||
|
background: rgba(0, 0, 0, .8);
|
||||||
|
color: #fff;
|
||||||
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.10);
|
||||||
|
border-radius: 3px;
|
||||||
|
padding: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map-overlay-inner fieldset {
|
||||||
|
border: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0 0 10px;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
/* Dark attribution */
|
||||||
|
|
||||||
|
.mapboxgl-ctrl.mapboxgl-ctrl-attrib {
|
||||||
|
background: rgba(0, 0, 0, .8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.mapboxgl-ctrl.mapboxgl-ctrl-attrib a {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
/* Dark popup */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip,
|
||||||
|
.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip,
|
||||||
|
.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {
|
||||||
|
border-top-color: #202020;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip,
|
||||||
|
.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip,
|
||||||
|
.mapboxgl-popup-anchor-top .mapboxgl-popup-tip {
|
||||||
|
border-bottom-color: #202020;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mapboxgl-popup-anchor-right .mapboxgl-popup-tip {
|
||||||
|
border-left-color: #202020;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mapboxgl-popup-anchor-left .mapboxgl-popup-tip {
|
||||||
|
border-right-color: #202020;
|
||||||
|
}
|
||||||
|
|
||||||
|
#popup-menu ul,
|
||||||
|
#menu li {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mapboxgl-ctrl-group {
|
||||||
|
-webkit-filter: invert(100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.loader {
|
||||||
|
margin: -10px 0 0 -250px;
|
||||||
|
height: 100px;
|
||||||
|
width: 20%;
|
||||||
|
position: fixed;
|
||||||
|
text-align: center;
|
||||||
|
padding: 1em;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
margin: 0 auto 1em;
|
||||||
|
z-index: 9999;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
Set the color of the icon
|
||||||
|
*/
|
||||||
|
|
||||||
|
svg path,
|
||||||
|
svg rect {
|
||||||
|
fill: #FF6700;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id='map'></div>
|
||||||
|
<div class='map-overlay top'>
|
||||||
|
<div class='map-overlay-inner'>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="loader loader--style1" title="0" id="loader">
|
||||||
|
<svg version="1.1" id="loader-1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
|
||||||
|
<path opacity="0.2" fill="#000" d="M20.201,5.169c-8.254,0-14.946,6.692-14.946,14.946c0,8.255,6.692,14.946,14.946,14.946
|
||||||
|
s14.946-6.691,14.946-14.946C35.146,11.861,28.455,5.169,20.201,5.169z M20.201,31.749c-6.425,0-11.634-5.208-11.634-11.634
|
||||||
|
c0-6.425,5.209-11.634,11.634-11.634c6.425,0,11.633,5.209,11.633,11.634C31.834,26.541,26.626,31.749,20.201,31.749z" />
|
||||||
|
<path fill="#000" d="M26.013,10.047l1.654-2.866c-2.198-1.272-4.743-2.012-7.466-2.012h0v3.312h0
|
||||||
|
C22.32,8.481,24.301,9.057,26.013,10.047z">
|
||||||
|
<animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 20 20" to="360 20 20" dur="0.5s" repeatCount="indefinite" />
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
mapboxgl.accessToken = 'pk.eyJ1IjoiaHVtYW5vIiwiYSI6IlgyRTFNdFEifQ.OmQBXmcVg_zq-vMpr8P5vQ';
|
||||||
|
/* var bounds = [
|
||||||
|
[-75.04728500751165, 39.68392799015035],
|
||||||
|
[-72.91058699000139, 41.87764500765852]
|
||||||
|
];*/
|
||||||
|
var map = new mapboxgl.Map({
|
||||||
|
container: 'map',
|
||||||
|
style: 'mapbox://styles/mapbox/dark-v9',
|
||||||
|
center: [-72, 4],
|
||||||
|
zoom: 5,
|
||||||
|
//minZoom: 5,
|
||||||
|
//maxZoom: 5,
|
||||||
|
pitch: 40,
|
||||||
|
// maxBounds: bounds
|
||||||
|
});
|
||||||
|
|
||||||
|
function init() {
|
||||||
|
map.addSource('LosDatos', {
|
||||||
|
type: 'geojson',
|
||||||
|
data: './archivos/74.geojson',
|
||||||
|
//data: 'http://localhost/tupali/milfs/geojson.php?id=74',
|
||||||
|
buffer: 0,
|
||||||
|
maxzoom: 3
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (window.location.search.indexOf('embed') !== -1) map.scrollZoom.disable();
|
||||||
|
map.loadImage(
|
||||||
|
// 'https://upload.wikimedia.org/wikipedia/commons/7/7c/201408_cat.png',
|
||||||
|
['get', 'title'],
|
||||||
|
function (error, image) {
|
||||||
|
if (error) throw error;
|
||||||
|
map.addImage('imagenIcono', image);
|
||||||
|
});
|
||||||
|
map.addLayer(
|
||||||
|
{
|
||||||
|
'id': 'datos-1',
|
||||||
|
'type': 'symbol',
|
||||||
|
'source': 'LosDatos',
|
||||||
|
'layout': {
|
||||||
|
// get the icon name from the source's "icon" property
|
||||||
|
// concatenate the name to get an icon from the style's sprite sheet
|
||||||
|
'icon-image': 'imagenIcono',
|
||||||
|
// get the title name from the source's "title" property
|
||||||
|
'text-field': ['get', 'title'],
|
||||||
|
'text-font': ['Open Sans Semibold', 'Arial Unicode MS Bold'],
|
||||||
|
'text-offset': [0, 0.6],
|
||||||
|
'text-anchor': 'top'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
map.once('style.load', function(e) {
|
||||||
|
init();
|
||||||
|
map.addControl(new mapboxgl.NavigationControl());
|
||||||
|
map.on('click', function(e) {
|
||||||
|
var features = map.queryRenderedFeatures(e.point, {
|
||||||
|
layers: ['datos-1']
|
||||||
|
});
|
||||||
|
if (!features.length) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var feature = features[0];
|
||||||
|
|
||||||
|
var popup = new mapboxgl.Popup()
|
||||||
|
.setLngLat(map.unproject(e.point))
|
||||||
|
.setHTML(feature.properties.description )
|
||||||
|
.addTo(map);
|
||||||
|
});
|
||||||
|
|
||||||
|
//Hide loading bar once tiles from geojson are loaded
|
||||||
|
map.on('data', function(e) {
|
||||||
|
if (e.dataType === 'source' && e.sourceId === 'LosDatos') {
|
||||||
|
document.getElementById("loader").style.visibility = "hidden";
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// Use the same approach as above to indicate that the symbols are clickable
|
||||||
|
// by changing the cursor style to 'pointer'.
|
||||||
|
map.on('mousemove', function(e) {
|
||||||
|
var features = map.queryRenderedFeatures(e.point, {
|
||||||
|
layers: ['datos-1']
|
||||||
|
});
|
||||||
|
map.getCanvas().style.cursor = (features.length) ? 'pointer' : '';
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
2
milfs
2
milfs
@ -1 +1 @@
|
|||||||
Subproject commit 01df026a5b8baa93f7d670d3aa0eaed77d7e98c1
|
Subproject commit 2b8ff8965fbffef99fef7530705c4a6e93dc1521
|
177
temas/mapero/estilo.css
Normal file
177
temas/mapero/estilo.css
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
body {
|
||||||
|
color: #404040;
|
||||||
|
font: 400 15px/22px 'Source Sans Pro', 'Helvetica Neue', Sans-serif;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
-moz-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar {
|
||||||
|
position: absolute;
|
||||||
|
width: 33.3333%;
|
||||||
|
height: 100%;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
border-right: 1px solid rgba(0, 0, 0, 0.25);
|
||||||
|
}
|
||||||
|
.pad2 {
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map {
|
||||||
|
position: absolute;
|
||||||
|
left: 33.3333%;
|
||||||
|
width: 66.6666%;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 22px;
|
||||||
|
margin: 0;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: 20px;
|
||||||
|
padding: 20px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #404040;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
color: #101010;
|
||||||
|
}
|
||||||
|
|
||||||
|
.heading {
|
||||||
|
background: #fff;
|
||||||
|
border-bottom: 1px solid #eee;
|
||||||
|
min-height: 60px;
|
||||||
|
line-height: 60px;
|
||||||
|
padding: 0 10px;
|
||||||
|
background-color: #00853e;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.listings {
|
||||||
|
height: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
padding-bottom: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.listings .item {
|
||||||
|
display: block;
|
||||||
|
border-bottom: 1px solid #eee;
|
||||||
|
padding: 10px;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.listings .item:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
.listings .item .title {
|
||||||
|
display: block;
|
||||||
|
color: #00853e;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.listings .item .title small {
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
.listings .item.active .title,
|
||||||
|
.listings .item .title:hover {
|
||||||
|
color: #8cc63f;
|
||||||
|
}
|
||||||
|
.listings .item.active {
|
||||||
|
background-color: #f8f8f8;
|
||||||
|
}
|
||||||
|
::-webkit-scrollbar {
|
||||||
|
width: 3px;
|
||||||
|
height: 3px;
|
||||||
|
border-left: 0;
|
||||||
|
background: rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
::-webkit-scrollbar-track {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
::-webkit-scrollbar-thumb {
|
||||||
|
background: #00853e;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.marker {
|
||||||
|
border: none;
|
||||||
|
cursor: pointer;
|
||||||
|
height: 56px;
|
||||||
|
width: 56px;
|
||||||
|
background-image: url(../../milfs/images/iconos/rojo.png);
|
||||||
|
background-color: rgba(0, 0, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.clearfix {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.clearfix:after {
|
||||||
|
content: '.';
|
||||||
|
display: block;
|
||||||
|
height: 0;
|
||||||
|
clear: both;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Marker tweaks */
|
||||||
|
.mapboxgl-popup {
|
||||||
|
padding-bottom: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mapboxgl-popup-close-button {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.mapboxgl-popup-content {
|
||||||
|
font: 400 15px/22px 'Source Sans Pro', 'Helvetica Neue', Sans-serif;
|
||||||
|
padding: 0;
|
||||||
|
width: 180px;
|
||||||
|
}
|
||||||
|
.mapboxgl-popup-content-wrapper {
|
||||||
|
padding: 1%;
|
||||||
|
}
|
||||||
|
.mapboxgl-popup-content h3 {
|
||||||
|
background: #91c949;
|
||||||
|
color: #fff;
|
||||||
|
margin: 0;
|
||||||
|
display: block;
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 3px 3px 0 0;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-top: -15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mapboxgl-popup-content h4 {
|
||||||
|
margin: 0;
|
||||||
|
display: block;
|
||||||
|
padding: 10px 10px 10px 10px;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mapboxgl-popup-content div {
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mapboxgl-container .leaflet-marker-icon {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mapboxgl-popup-anchor-top > .mapboxgl-popup-content {
|
||||||
|
margin-top: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mapboxgl-popup-anchor-top > .mapboxgl-popup-tip {
|
||||||
|
border-bottom-color: #91c949;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user