• Модуль: location
  • Путь к файлу: ~/bitrix/modules/location/lib/source/osm/converters/baseconverter.php
  • Класс: BitrixLocationSourceOsmConvertersBaseConverter
  • Вызов: BaseConverter::getLocality
protected function getLocality(): ?array
{
	/**
	 * Itself
	 */
	$settlementTypePriorityList = $this->getSettlementTypes();
	foreach ($this->addressComponents as $addressComponent)
	{
		$componentPlaceType = $this->getAddressComponentPlaceType($addressComponent);

		$isItself = (
			$this->details['osm_type'] === $addressComponent['osm_type']
			&& $this->details['osm_id'] === $addressComponent['osm_id']
		);

		if ($isItself && in_array($componentPlaceType, $settlementTypePriorityList, true))
		{
			return $addressComponent;
		}
	}

	$addressComponent = $this->getLocalityConcrete();
	if ($addressComponent)
	{
		return $addressComponent;
	}

	if ($this->isCityState())
	{
		return $this->getAdminLevel1();
	}

	return null;
}