ไคลเอนต์ PHP สำหรับ Nominatim ซึ่งเป็นเครื่องมือค้นหาสำหรับข้อมูล OpenStreetMap
สร้าง | มั่นคง | ใบอนุญาต |
---|---|---|
หากติดตั้ง Composer ไว้แล้ว
composer require riverside/php-nominatim
หากยังไม่ได้ติดตั้ง Composer บนระบบของคุณ คุณสามารถดำเนินการติดตั้งได้โดยใช้บรรทัดคำสั่งนี้:
$ curl -sS https://getcomposer.org/installer | php
ถัดไป เพิ่มรายการต้องต่อไปนี้ลงในไฟล์ composer.json ในรูทของโปรเจ็กต์ของคุณ
{"ต้องการ" : {"ริมแม่น้ำ/php-nominatim" : "^2.0"} -
สุดท้าย ใช้ Composer เพื่อติดตั้ง php-nominatim และการอ้างอิง:
$ php composer.phar install
ต้องการ __DIR__ '/ผู้ขาย/autoload.php';
ค้นหาสถานที่จากคำอธิบายที่เป็นข้อความหรือที่อยู่
$client = new RiversideNominatimClient();try {$response = $client->search('Madison Square Garden, NY');if ($response->isOK()) {echo $response->getLat(0) - $ตอบกลับ->getLng(0); } else {echo 'ไม่พบตำแหน่ง'; - } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (ข้อยกเว้น $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 (ข้อยกเว้น $e) {echo $e->getMessage(); -
ค้นหาที่อยู่และรายละเอียดอื่นๆ ของออบเจ็กต์ OSM หนึ่งหรือหลายออบเจ็กต์ เช่น โหนด วิธี หรือความสัมพันธ์
$client = new RiversideNominatimClient();ลอง {$client->setAddressDetails(1);$response = $client->lookup('R146656,W104393803,N240109189');if ($response->isOK()) {echo ' <pre>';print_r($response->toArray()); } else {echo 'ไม่พบที่อยู่'; - } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (ข้อยกเว้น $e) {echo $e->getMessage(); -
แสดงรายละเอียดทั้งหมดเกี่ยวกับสถานที่แห่งเดียวที่บันทึกไว้ในฐานข้อมูล
$client = new RiversideNominatimClient();ลอง {$client->setAddressDetails(1);$response = $client->details(199375150);if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); {echo '<pre>';print_r($response->toArray()); } else {echo 'ไม่พบสถานที่'; - } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (ข้อยกเว้น $e) {echo $e->getMessage(); -
ตรวจสอบว่าบริการและฐานข้อมูลกำลังทำงานอยู่หรือไม่ และฐานข้อมูลได้รับการอัปเดตครั้งล่าสุดเมื่อใด
$client = new RiversideNominatimClient();ลอง {$response = $client->status();if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); {echo '<pre>';print_r($response->toArray()); } else {echo 'ไม่พบสถานะ'; - } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (ข้อยกเว้น $e) {echo $e->getMessage(); -
แสดงรายการออบเจ็กต์ที่ถูกลบใน OSM แต่ถูกระงับไว้ใน Nominatim ในกรณีที่การลบเกิดขึ้นโดยไม่ได้ตั้งใจ
$client = new RiversideNominatimClient();ลอง {$response = $client->deletable();if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); {echo '<pre>';print_r($response->toArray()); } else {echo 'ไม่พบวัตถุที่สามารถลบได้'; - } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (ข้อยกเว้น $e) {echo $e->getMessage(); -
รายชื่อรูปหลายเหลี่ยมที่เสียหายซึ่งตรวจพบโดย Nominatim
$client = new RiversideNominatimClient();ลอง {$response = $client->polygons();if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); {echo '<pre>';print_r($response->toArray()); } else {echo 'ไม่พบรูปหลายเหลี่ยม'; - } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (ข้อยกเว้น $e) {echo $e->getMessage(); -
https://wiki.openstreetmap.org/wiki/Nominatim
https://github.com/openstreetmap/Nominatim
https://nominatim.openstreetmap.org/
https://nominatim.org/