php nominatim
2.0.0
Nominatim 的 PHP 用戶端,OpenStreetMap 資料的搜尋引擎。
建造 | 穩定的 | 執照 |
---|---|---|
如果 Composer 已經安裝
composer require riverside/php-nominatim
如果您的系統上尚未安裝 Composer,您可以使用下列命令列繼續安裝:
$ curl -sS https://getcomposer.org/installer | php
接下來,將下列 require 項目新增至專案根目錄下的composer.json 檔案。
{“要求”:{“河濱/php-nominatim”:“^ 2.0”} }
最後,使用 Composer 安裝 php-nominatim 及其相依性:
$ php composer.phar install
需要 __DIR__ 。 '/vendor/autoload.php';
從文字描述或地址找到位置。
$client = new RiversideNominatimClient();try {$response = $client->search('紐約麥迪遜廣場花園');if ($response->isOK()) {echo $response->getLat(0) 。 「,」。 $響應->getLng(0); } else {echo '未找到位置。 } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exception $e) {echo $e->getMessage(); }
根據緯度和經度產生地址。
$client = new RiversideNominatimClient();嘗試 {$response = $client->reverse(48.8539373, 2.2825966);if ($response->isOK()) {echo $response->getAddress(0); } else {echo '位址未找到'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exception $e) {echo $e->getMessage(); }
查詢一個或多個 OSM 物件的位址和其他詳細信息,如節點、路徑或關係。
$client = new RiversideNominatimClient();嘗試{$client->setAddressDetails(1);$response = $client->lookup('R146656,W104393803,N240109189');if ($response-is 'echo ($chom <pre>';print_r($response->toArray()); } else {echo '位址未找到'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exception $e) {echo $e->getMessage(); }
顯示資料庫中儲存的單一地點的所有詳細資訊。
$client = new RiversideNominatimClient();嘗試 {$client->setAddressDetails(1);$response = $client->details(199375150);if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo '找不到地方'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exception $e) {echo $e->getMessage(); }
檢查服務和資料庫是否正在運行,以及資料庫上次更新的時間。
$client = new RiversideNominatimClient();嘗試{$response = $client->status();if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo '未找到狀態'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exception $e) {echo $e->getMessage(); }
列出已在 OSM 中刪除但在 Nominatim 中保留的對象,以防意外刪除。
$client = new RiversideNominatimClient();嘗試{$response = $client->deletable();if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo '未找到可刪除物件'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exception $e) {echo $e->getMessage(); }
Nominatim 偵測到的損壞多邊形清單。
$client = new RiversideNominatimClient();嘗試{$response = $client->polygons();if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo '未找到多邊形'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exception $e) {echo $e->getMessage(); }
https://wiki.openstreetmap.org/wiki/Nominatim
https://github.com/openstreetmap/Nominatim
https://nominatim.openstreetmap.org/
https://nominatim.org/