Parametrizacion apara incluir varios geojson adicionales en un mapa

This commit is contained in:
fredyrivera 2017-05-02 12:04:16 -05:00
parent 3fbc06fb88
commit 86edfb4889
2 changed files with 115 additions and 9 deletions

View File

@ -61,8 +61,50 @@ $plantilla ="mapa";
<?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');
$obj=file_get_contents("$otro_json[0]");
echo "<script>var geojsonAuxiliar = $obj ;</script>";
$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: [60, 60],
iconAnchor: [13, 27],
popupAnchor: [1, -24],
/* iconUrl: feature.properties.icon.iconUrl*/
iconUrl: 'http://localhost/default/tupali/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 ";
}
}
//$obj=file_get_contents("$otro_json[0]");
//echo "<script>var geojsonAuxiliar = $obj ;</script>";
echo $li;
?>
<style type="text/css">
@ -315,7 +357,7 @@ onEachFeature: function(feature, layer) {
layer.bindPopup(popupText); }
});
/*
var geojsonAux = L.geoJson(geojsonAuxiliar, {
pointToLayer: function(feature, latlng) {
@ -323,7 +365,7 @@ onEachFeature: function(feature, layer) {
iconSize: [60, 60],
iconAnchor: [13, 27],
popupAnchor: [1, -24],
/* iconUrl: feature.properties.icon.iconUrl*/
iconUrl: "http://localhost/default/tupali/milfs/images/secure/?file=150/da6d16547658ebc06c5378b30d1ee4bf.png"
});
@ -336,23 +378,26 @@ onEachFeature: function(feature, layer) {
layer.bindPopup(popupText); }
});
*/
<?php echo $layer; ?>
var markers = L.markerClusterGroup();
markers.addLayer(geojson);
markers.addLayer(geojsonAux);
// markers.addLayer(geojsonAux);
<?php echo $add_layer; ?>
map.fitBounds(geojson.getBounds());
var legend = L.control({position: 'bottomright'});
//disable zoomControl when initializing map (which is topleft by default)
///L.control.layers(<?php echo $capas_nombre; ?>).addTo(map);
//add zoom control with your options
/* //add zoom control with your options
L.control.zoom({
position:'topright'
}).addTo(map);
*/
legend.onAdd = function (map) {
var div = L.DomUtil.create('div', 'info legend');
div.innerHTML = "";

View File

@ -5150,6 +5150,9 @@ if($accion =='categorias') {
<li role='presentation' class=' '>
<a href='#' id='titulo_tabs' role='tab' data-toggle='tab' aria-controls='div_parametrizacion' class='' onclick=\"xajax_parametrizacion_titulo('$perfil','div_parametrizacion','') \" >Campos especiales</a>
</li>
<li role='presentation' class=' '>
<a href='#' id='mapa_tabs' role='tab' data-toggle='tab' aria-controls='div_parametrizacion' class='' onclick=\"xajax_parametrizacion_mapa('$perfil','div_parametrizacion','') \" >Mapa</a>
</li>
<li role='presentation' class=' '>
<a href='#' id='categorias_tabs' role='tab' data-toggle='tab' aria-controls='div_parametrizacion' class='' onclick=\"xajax_parametrizacion_categoria('$perfil','categorias','div_parametrizacion') \" >Categorías</a>
</li>
@ -5590,6 +5593,64 @@ $resultado .= "";
$xajax->registerFunction("parametrizacion_plantilla");
function parametrizacion_mapa($formulario,$div,$valores) {
$otro_json = remplacetas('form_parametrizacion','campo',$formulario,'descripcion'," tabla='form_id' and opcion = 'json'") ;;
$respuesta = new xajaxResponse('utf-8');
if($valores =="") {
$cadena= array();
$ids = json_decode($otro_json[0]);
foreach ($ids as $clave => $valor) {
if($valor !=""){
$li .="$valor[0] $valor[1]\n";
}
}
$resultado ="
<br><labeL for='json_extra'>Defina en cada linea un geojson adicional que se mostrará en el mapa $formulario </label>
<br>Ejemplo: [Nombre de la capa] url.geojson
<textarea class='form-control' rows=10 placeholder='[Nombre de la capa] url.geojson' id='json_extra' name ='json_extra'>$li</textarea>
<div class='btn btn-success center-block' onclick=\"xajax_parametrizacion_mapa('$formulario','resultado_json',document.getElementById('json_extra').value) \">Grabar</div>
<br><div id='resultado_json'></div>";
$respuesta->addAssign("$div","innerHTML","$resultado");
return $respuesta;
}else{
//$ids=array();
$cadena= array();
$ids = explode(PHP_EOL, $valores);
foreach ($ids as $clave => $valor) {
if($valor !=""){
$li="";
$cadena[] = explode(" ", $valor,2);
foreach ($cadena as $c => $v){
$li .="<li class='list-group-item'><strong>$v[1]:</strong> $v[0] </li>";
}
}
}
$resultado_visible="<ul class='list-group'>$li</ul>";
// $ids['formulario']="$formulario";
$resultado =json_encode($cadena);
//parametrizacion_linea($tabla,$campo,$opcion,$descripcion,$div,$script,$item)
$insertar = parametrizacion_linea('form_id',"$formulario","json","$resultado",'','','');
$respuesta->addAssign("$div","innerHTML","$resultado_visible");
return $respuesta;
}
}
$xajax->registerFunction("parametrizacion_mapa");
function parametrizacion_titulo($formulario,$div,$valores) {
$campo_titulo = remplacetas('form_parametrizacion','campo',$formulario,'descripcion'," tabla='form_id' and opcion = 'titulo'") ;
$campo_orden = remplacetas('form_parametrizacion','campo',$formulario,'descripcion'," tabla='form_id' and opcion = 'orden'") ;