• Модуль: location
  • Путь к файлу: ~/bitrix/modules/location/lib/entity/source/factory.php
  • Класс: BitrixLocationEntitySourceFactory
  • Вызов: Factory::makeSource
static function makeSource(string $code): Source
{
	$class = null;

	switch ($code)
	{
		case static::GOOGLE_SOURCE_CODE:
			$class = GoogleSource::class;
			break;
		case static::OSM_SOURCE_CODE:
			$class = OsmSource::class;
			break;
	}

	if (is_null($class))
	{
		throw new RuntimeException(sprintf('Unexpected source code - %s', $code));
	}

	/** @var Source $source */
	return (new $class())->setCode($code);
}