TUKADYANE é um pacote PHP para geolocalização e exibição de mapas, utilizando OpenStreetMap e Leaflet.js. O nome "TUKADYANE" tem origem em línguas moçambicanas (SHIMAKONDE/MAKONDE).
TUKADYANE/
├── examples/ # Exemplos de uso
│ ├── index.html # Página de exemplo HTML
│ └── map_example.php # Exemplo de uso do mapa
│
├── src/ # Código fonte principal
│ ├── Services/ # Serviços do sistema
│ │ ├── NominatimService.php
│ │ └── OSRMService.php
│ ├── Geocoder.php # Classe principal de geocodificação
│ └── MapRenderer.php # Renderizador de mapas
│
├── ssl/ # Certificados SSL
│ └── cacert.pem # Certificado de segurança
│
├── tests/ # Testes unitários
│ ├── GeocoderTest.php # Testes do Geocoder
│ └── MapRendererTest.php # Testes do MapRenderer
│
├── .gitignore # Configuração do Git
├── composer.json # Configuração do Composer
├── composer.lock # Lock de dependências
├── phpunit.xml # Configuração do PHPUnit
└── README.md # Documentação principal
Contém exemplos práticos de implementação:
-
index.html: Demonstração básica de integração HTML -
map_example.php: Exemplo completo de uso do mapa
Código fonte principal do projeto:
// NominatimService.php
// Serviço de geocodificação usando OpenStreetMap
class NominatimService {
public function geocode($address)
public function reverse($lat, $lon)
}
// OSRMService.php
// Serviço de rotas
class OSRMService {
public function getRoute($startLat, $startLon, $endLat, $endLon)
}// Geocoder.php
// Classe principal para geocodificação
class Geocoder {
public function geocode($address)
public function reverse($lat, $lon)
}
// MapRenderer.php
// Renderização de mapas
class MapRenderer {
public static function renderMap($lat, $lon, $zoom = 12)
}cacert.pem: Certificado SSL para requisições seguras
Testes unitários do projeto:
// GeocoderTest.php
class GeocoderTest extends TestCase {
public function testGeocode()
public function testReverse()
}// MapRendererTest.php
class MapRendererTest extends TestCase {
public function testRenderMap()
}{
"name": "augustodluis/tukadyane",
"description": "Pacote PHP para geolocalização e mapas",
"autoload": {
"psr-4": {
"Tukadyane\\": "src/"
}
}
}<phpunit bootstrap="vendor/autoload.php">
<testsuites>
<testsuite name="Tukadyane">
<directory>tests</directory>
</testsuite>
</testsuites>
</phpunit>composer require augustodluis/tukadyanecomposer require augustodluis/tukadyane// examples/map_example.php
require 'vendor/autoload.php';
use Tukadyane\Geocoder;
use Tukadyane\MapRenderer;
$geocoder = new Geocoder();
$result = $geocoder->geocode('Maputo, Moçambique');
echo MapRenderer::renderMap($result->getLatitude(), $result->getLongitude());- Clone o repositório
git clone https://github.com/augustodluis/tukadyane.git- Instale as dependências
composer install- Execute os testes
composer test- PSR-4 para autoload
- PSR-12 para estilo de código
- Documentação PHPDoc em todas as classes e métodos
- Testes unitários para todas as funcionalidades
- Fork o projeto
- Crie uma branch para sua feature
- Faça commit das suas alterações
- Push para a branch
- Crie um Pull Request
📜 Licença Este projeto está licenciado sob a MIT License. 👨💻 Autor
Augusto D. Luis - aluis.mz@yahoo.com
🙏 Agradecimentos
Geocoder PHP - por fornecer a base para este projeto Nominatim - serviço de geocodificação Open Source