ajtarragona / vialer
Paquet per accedir al vialer de l'Ajuntament de Tarragona.
Requires
- php: >=7.0.0
- ajtarragona/tsystems-client: dev-main
- laravel/framework: ^6.0
- opis/closure: ^3.5
README
Paquet d'accés al Vialer de l'Ajuntament de Tarragona
Instalació
composer require ajtarragona/vialer:"@dev"
Publicar els assets js i css
php artisan vendor:publish --tag=ajtarragona-vialer-assets
Important!! Cada vegada que s'actualitzi el paquet, cal executar aquesta comanda (amb el paràmetre --force) per sobrescriure els assets (js i css)
php artisan vendor:publish --tag=ajtarragona-vialer-assets --force
Configuració
Pots publicar l'arxiu de configuració del paquet amb la comanda:
php artisan vendor:publish --tag=ajtarragona-vialer-config
Això copiarà l'arxiu a config/vialer.php
.
Providers
Es proporcionen 3 Providers:
VialerProvider
Simplement és una capa sobre el paquet tsystems-client. Podeu consultar els mètodes i la configuració a la web del paquet tsystems-client.
Proporciona com a extra que totes les consultes es guarden a cache durant una hora.
Ho podem fer servir:
A través d'una Facade
:
use Vialer; ... public function test(){ $paisos=Vialer::paisos(); ... }
Vía Injecció de dependències:
Als teus controlladors, helpers, model:
use Ajtarragona\Vialer\Providers\VialerProvider; ... public function test(VialerProvider $vialer){ $vies=$vialer->getAllVies(); ... }
Vía funció helper
:
... public function test(){ $tercer=vialer()->getAllVies(); ... }
DistricteSeccioProvider
Proporciona accés al servei web d'ARCGIS de districtes i seccions.
La latitud i longitud han d'anar en el sistema de referència indicat a l'atribut srs
de l'arxiu de configuració config/vialer.php
. Per defecte és 4326.
Ho podem fer servir:
A través d'una Facade
:
use Districtes; ... public function test(){ $dissec=Districtes::getDistricteISeccio(41.111,12.3323); ... }
Vía Injecció de dependències:
Als teus controlladors, helpers, model:
use Ajtarragona\Vialer\Providers\DistricteSeccioProvider; ... public function test(DistricteSeccioProvider $disprov){ $dissec=$disprov->getDistricteISeccio(41.111,12.3323); ... }
Vía funció helper
:
... public function test(){ $dissec=districtes()->getDistricteISeccio(41.111,12.3323); ... }
CatastroProvider
Accés al catastre per comnsulta de referències catastrals.
use Catastro; ... public function test(){ $via=Catastro::getVia(1234); ... }
Vía Injecció de dependències:
Als teus controlladors, helpers, model:
use Ajtarragona\Vialer\Providers\CatastroProvider; ... public function test(CatastroProvider $catastro){ $vies=$catastro->getVia(1234); ... }
Vía funció helper
:
... public function test(){ $via=catastro()->getVia(1234); ... }
Component blade
Es disposa d'un component blade que renderitza un camp de formulari funcional.
Primer cal, a la teva plantilla, afegir els assets js i css:
<link href="{{ asset('vendor/ajtarragona/css/vialer.css') }}" rel="stylesheet"> <script src="{{ asset('vendor/ajtarragona/js/vialer.js')}}" language="JavaScript"></script>
Ús del component
@vialerFormControl([ 'name'=>'vialer1', 'class' => 'mb-3', 'color'=>'info', 'show_map'=>false, 'show_refcat'=>true, 'show_xy'=>true, "search_xy"=>false, "search_refcat"=>false, "btn_parcela"=>true, "value"=> [ "via"=> [ "tipus" => "CR", "nom" => "DE LA UNIO", "codi" => 3120 ], "numero" => 12, "refcat"=> "3231506CF5533A0016DM", "location" =>[ "lat" => "41.1147391577075", "lng" => "1.25146962624948", ] ], "readonly" =>true ])
Paràmetres
Si fem servir el camp dins d'un formulari, quan fem el submit el que s'enviarà per la request és un sol camp amb el nom del camp i el valor de tots els subcamps per separat.
"vialer1" => array:15 [ "via" => array:3 [ "tipus" => "CR" "nom" => "DE LA UNIO" "codi" => "3120" ] "numero" => "13" "lletra" => null "escala" => null "bloc" => null "planta" => "01" "porta" => "01" "codi_postal" => "43001" "provincia" => "TARRAGONA" "municipi" => "TARRAGONA" "districte" => "5" "seccio" => "2" "districte_administratiu" => "CENTRE" "refcat" => "3332212CF5533A0002FS" "location" => array:2 [ "lat" => "41.1151162899822" "lng" => "1.25189613335773" ] ]