• Модуль: location
  • Путь к файлу: ~/bitrix/modules/location/lib/source/google/converters/ancestordataconverter.php
  • Класс: BitrixLocationSourceGoogleConvertersAncestorDataConverter
  • Вызов: AncestorDataConverter::convert
public function convert(array $locationRawData, int $descendantType)
{
	$result = [];

	if(isset($locationRawData['result']['address_components'])
		&& is_array($locationRawData['result']['address_components'])
		&& count($locationRawData['result']['address_components']) > 0
	)
	{
		$items = array_reverse($locationRawData['result']['address_components']);
		$accumulator = '';

		foreach ($items as $item)
		{
			$types =$this->convertTypes($item['types'], $descendantType);

			if(empty($types))
			{
				continue;
			}

			if($accumulator <> '')
			{
				$accumulator .= ',';
			}

			$accumulator .= $item['long_name'];

			$result[] = [
				'NAME' => $accumulator,
				'TYPES' => $types
			];
		}
	}

	return array_reverse($result);
}