1. Go to this page and download the library: Download igaster/laravel_cities library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
$geo->name; // name of geographical point in plain ascii
$geo->alternames; // Array of alternate names (Stored as Json)
$geo->country; // 2-letter country code (ISO-3166)
$geo->id; // Original id from geonames.org database (geonameid)
$geo->population; // Population (Where provided)
$geo->lat; // latitude in decimal degrees (wgs84)
$geo->long; // longitude in decimal degrees (wgs84)
$geo->level; // Administrator level code (feature code)
// parent_id, left, right, depth: Used to build hierarcy tree
use Igaster\LaravelCities\Geo;
Geo::getCountries(); // Get a Collection of all countries
Geo::getCountry('US'); // Get item by Country code
Geo::findName('Nomos Kerkyras'); // Find item by (ascii) name
Geo::searchNames('york'); // Search item by all alternative names. Case insensitive
Geo::searchNames('vegas', Geo::getCountry('US')); // ... and belongs to an item
Geo::getByIds([390903,3175395]); // Get a Collection of items by Ids
$children = $geo->getChildren(); // Get direct Children of $geo (Collection)
$parent = $geo->getParent(); // Get single Parent of $geo (Geo)
$ancenstors = $geo->getAncensors(); // Get Ancenstors tree of $geo from top->bottom (Collection)
$descendants = $geo->getDescendants(); // Get all Descentants of $geo alphabetic (Collection)
$geo1->isParentOf($geo2); // (Bool) Check if $geo2 is direct Parent of $geo1
$geo2->isChildOf($geo1); // (Bool) Check if $geo2 is direct Child of $geo1
$geo1->isAncenstorOf($geo2); // (Bool) Check if $geo2 is Ancenstor of $geo1
$geo2->isDescendantOf($geo1); // (Bool) Check if $geo2 is Descentant of $geo1
Geo::level($level); // Filter by Administration level:
// Geo::LEVEL_COUNTRY, Geo::LEVEL_CAPITAL, Geo::LEVEL_1, Geo::LEVEL_2, Geo::LEVEL_3
Geo::country('US'); // (Shortcut) Items that belongs to country US
Geo::capital(); // (Shortcut) Items that are capitals
Geo::search($name); // Items that conain $name in name OR alternames (Case InSensitive)
Geo::areDescentants($geo); // Items that belong to $geo
$geo->ancenstors(); // Items that contain $geo
$geo->descendants(); // Items that belong to $geo
$geo->children(); // Items that are direct children of $geo
//--Scope usage Examples:
// Get the States of USA in aplhabetic order
Geo::getCountry('US')
->children()
->orderBy('name')
->get();
// Get the 3 biggest cities of Greece
Geo::getCountry('GR')
->level(Geo::LEVEL_3)
->orderBy('population','DESC')
->limit(3)
->get();