]> git.openstreetmap.org Git - nominatim.git/blobdiff - lib-php/AddressDetails.php
add `<addresspart_type>:ISO3166-2` field to response address details
[nominatim.git] / lib-php / AddressDetails.php
index a1a2a636156e686843b4fcebc46f5a236383a85a..657dc3e26a687af457d7c82f40c5ace30d07c1aa 100644 (file)
@@ -93,8 +93,8 @@ class AddressDetails
             ) {
                 $aAddress[$sTypeLabel] = $sName;
 
-                if ('state' === $sTypeLabel && !empty($aLine['name'])) {
-                    $this->addStateCode($aAddress, $aLine['name']);
+                if (!empty($aLine['name'])) {
+                    $this->addStateCode($aAddress, $sTypeLabel, $aLine['name']);
                 }
             }
         }
@@ -182,14 +182,13 @@ class AddressDetails
     /**
      * Add `state_code` field to address details to represent second part of ISO 3166-2 country subdivision code
      */
-    private function addStateCode(&$aAddress, $nameDetails)
+    private function addStateCode(&$aAddress, $sTypeLabel, $nameDetails)
     {
         if (is_string($nameDetails)) {
             $nameDetails = json_decode('{' . str_replace('"=>"', '":"', $nameDetails) . '}', true);
         }
-
-        if (!empty($nameDetails['ref'])) {
-            $aAddress['state_code'] = $nameDetails['ref'];
+        if (!empty($nameDetails['ISO3166-2'])) {
+            $aAddress["$sTypeLabel:ISO3166-2"] = $nameDetails['ISO3166-2'];
         }
     }
 }