コード例 #1
0
 /**
  * 
  */
 public function ajax_elemento()
 {
     $this->load->helper(array("modulo/capa/capa"));
     $json = array();
     header('Content-type: application/json');
     $data = array("correcto" => false, "error" => "");
     $params = $this->input->post(null, true);
     $elemento = $this->_capa_detalle_elemento_model->getById($params["id"]);
     if (!is_null($elemento)) {
         $subcapa = $this->_capa_detalle_model->getById($elemento->poligono_capitem);
         $capa = $this->_capa_model->getById($subcapa->geometria_capa);
         if ($subcapa->geometria_icono != "") {
             $icono = base_url($subcapa->geometria_icono);
         } else {
             $icono = base_url($capa->icon_path);
         }
         $json = array("id" => $elemento->poligono_id, "id_subcapa" => $elemento->poligono_capitem, "propiedades" => unserialize($elemento->poligono_propiedades), "geojson" => unserialize($elemento->poligono_geometria), "zona" => $capa->cap_c_geozone_number . $capa->cap_c_geozone_letter, "color" => $capa->color, "icono" => $icono);
     }
     $data["correcto"] = true;
     $data["resultado"] = $json;
     echo json_encode($data);
 }
コード例 #2
0
 /**
  * Guarda un elemento de una capa
  */
 public function guardarItemSubcapa()
 {
     $item = $this->uri->uri_to_assoc();
     $id_item = $item['item'];
     $params = $this->input->post();
     $id_subcapa = $params['id_subcapa'];
     $data = array();
     foreach ($params["propiedad_nombre"] as $key => $nombre) {
         $propiedades[$nombre] = $params["propiedad_valor"][$key];
     }
     $this->load->library("capa/elemento/capa_elemento_locacion", $propiedades);
     $this->capa_elemento_locacion->process();
     $data["poligono_comuna"] = $this->capa_elemento_locacion->getComuna();
     $data["poligono_provincia"] = $this->capa_elemento_locacion->getProvincia();
     $data["poligono_region"] = $this->capa_elemento_locacion->getRegion();
     $data["poligono_capitem"] = $params["id_subcapa"];
     /* verificar valores de region y comuna */
     if (isset($propiedades['REGION']) and is_numeric($propiedades['REGION'])) {
         $this->load->model('region_model', 'RegionModel');
         $region = $this->RegionModel->getById($propiedades['REGION']);
         $propiedades['REGION'] = $region->reg_c_nombre;
     }
     if (isset($propiedades['COMUNA']) and is_numeric($propiedades['COMUNA'])) {
         $this->load->model('comuna_model', 'ComunaModel');
         $comuna = $this->ComunaModel->getById($propiedades['COMUNA']);
         $propiedades['COMUNA'] = $comuna->com_c_nombre;
     }
     $data["poligono_propiedades"] = serialize($propiedades);
     switch ($params["tipo_elemento"]) {
         case "Point":
             $geometria = array("type" => "Point", "coordinates" => array(0 => $params["form_coordenadas_longitud"], 1 => $params["form_coordenadas_latitud"]));
             $data["poligono_geometria"] = serialize($geometria);
             break;
         case "Polygon":
             $coordenadas = Zend_Json::decode($params["coordenadas"]);
             $geo = array("type" => "Polygon", "coordinates" => array());
             foreach ($coordenadas as $latLng) {
                 $geo["coordinates"][0][] = array($latLng["lng"], $latLng["lat"]);
             }
             $data["poligono_geometria"] = serialize($geo);
             break;
         case "MultiPolygon":
             $coordenadas = Zend_Json::decode($params["coordenadas"]);
             $geo = array("type" => "MultiPolygon", "coordinates" => array());
             foreach ($coordenadas as $key => $punto) {
                 foreach ($punto as $latLng) {
                     $geo["coordinates"][0][$key][] = array($latLng["lng"], $latLng["lat"]);
                 }
             }
             $data["poligono_geometria"] = serialize($geo);
             break;
         default:
             break;
     }
     $json = array();
     if ($id_item > 0) {
         $guardar = $this->capa_detalle_elemento_model->update($data, $id_item);
     } else {
         $guardar = $this->capa_detalle_elemento_model->insert($data);
     }
     if ($guardar) {
         $json['estado'] = true;
         $json['mensaje'] = "Datos guardados correctamente";
     } else {
         $json['estado'] = false;
         $json['mensaje'] = "Hubo un problema al guardar los datos. Intente nuevamente";
     }
     echo json_encode($json);
 }