plutuss / laravel-geonames-api
The Laravel Geonames API package provides an easy way to integrate the Geonames API into your Laravel application. This package enables developers to effortlessly interact with the Geonames API to retrieve geographic data such as cities, countries, coordinates, time zones, and other location-based i
0.1.3
2024-07-13 14:33 UTC
Requires
- php: ^8.0|^8.1|^8.2
- illuminate/support: ^8.0|^9.0|^10.0|^11.0
This package is auto-updated.
Last update: 2024-12-14 09:41:29 UTC
README
Laravel:
Note
The Laravel Geonames API package provides an easy way to integrate the Geonames API into your Laravel application. This package enables developers to effortlessly interact with the Geonames API to retrieve geographic data such as cities, countries, coordinates, time zones, and other location-based information.
- Key Features
- Geonames API Requests: Simple method to send requests and handle responses from the Geonames API.
- Support for Various Query Types: Supports all major query types including name searches, reverse geocoding, and more.
- Configuration: Easy setup of API credentials and other parameters through a configuration file.
- Laravel Compatibility: Full integration with the Laravel ecosystem, including support for Service Providers and Facades.
composer require plutuss/geo-names-laravel
php artisan vendor:publish --provider="Plutuss\GeoNames\Providers\GeoNamesServiceProvider"
# .env GEO_NAMES_USERNAME=user_name
Use Facade GeoName
$response = GeoName::postalCodeSearchJSONFromName('city_name'); $response = GeoName::setPostalCode(6600) ->setCountryCode('CH') ->postalCodeSearchJSONFromName('city_name'); // OR $response = GeoName::setOption([ 'country' => 'CH', ])->postalCodeSearchJSONFromName('city_name');
$response = GeoName::postalCodeSearchJSONFromPostCode(6600); $response = GeoName::setCountryCode('CH') ->postalCodeSearchJSONFromPostCode(6600); // OR $response = GeoName::setOption([ 'country' => 'CH', ])->postalCodeSearchJSONFromPostCode('6600');
setCountryCode(string $countryCode): static; setPostalCode(int $value): static; setPostalCodeStartsWith(string $value): static; setPlaceName(string $value): static; setPlaceNameStartsWith(string $value): static; setCountry(string $value): static; setCountryBias(string $value): static; setMaxRows(int $value): static; setStyle(string $value): static; setOperator(string $value): static; setCharset(string $value): static; setIsReduced(bool $value): static; setEast(float $value): static; setWest(float $value): static; setNorth(float $value): static; setSouth(float $value): static; setLatitude(string $value): static; setLongitude(string $value): static; setRadius(int $value): static;
setOption(array $params): static;
searchJSON(string $country): JsonResponse|array|Collection; postalCodeSearchJSONFromPostCode(int $postalCode, int $radius = 5, int $maxRows = 10): JsonResponse|array|Collection; postalCodeSearchJSONFromName(string $name, int $radius = 5, int $maxRows = 10): JsonResponse|array|Collection; findNearbyPostalCodes(int $lat, int $lng): JsonResponse|array|Collection; postalCodeCountryInfo(): JsonResponse|array|Collection; findNearbyJSON(int $lat, int $lng): JsonResponse|array|Collection;
Response
latitude(): mixed; getCollectionData(): Collection; getArrayData(): array; longitude(): mixed; placeName(): mixed; postalCode(): mixed; countryCode(): mixed; region(): mixed; land(): mixed; // The getNestedValue() method retrieves a value // from a deeply nested array using "dot" notation // $response->getNestedValue('key.array') getNestedValue($path, $default = null): mixed;