Страница 1 из 1

Как настроить карту, если страны заменили на регионы?

СообщениеДобавлено: 18 окт 2016, 14:08
sdelkadrom
Все объекты находятся в одной стране. Поэтому Страны поменяли на Регионы. Получилась следующая структура: Регины=> Районы (городские округа) => Города (населенные пункты). В результате - появилась проблема с маркером карты. Какие нужно внести изменения, чтобы маркер работал правильно? Можно ли «жестко привязать» маркер к одной стране (Россия) и как это сделать?

Re: Как настроить карту, если страны заменили на регионы?

СообщениеДобавлено: 18 окт 2016, 14:22
andipas
В чем заключается проблема? Неверно выставляется маркер?

Код отвечающий за автоматическое определение координат по адресу, после сохранения, находится в файле protected/helpers/HApartment.php
Код: Выделить всё

        $city 
= "";
        if (issetModule('location')) {
            $city .= $ad->locCountry ? $ad->locCountry->getStrByLang('name') : "";
            $city .= ($city && $ad->locCity) ? ", " : "";
            $city .= $ad->locCity ? $ad->locCity->getStrByLang('name') : "";
        } else
            $city 
= $ad->city ? $ad->city->getStrByLang('name') : "";

        // data
        if(($ad->address && $city) && (param('useGoogleMap', 1) || param('useYandexMap', 1) || param('useOSMMap', 1))){
            if (!$ad->lat && !$ad->lng) { # уже есть
                $coords = Geocoding::getCoordsByAddress($ad->address, $city);

                if(isset($coords['lat']) && isset($coords['lng'])){
                    $ad->lat = $coords['lat'];
                    $ad->lng = $coords['lng'];
                }
            }
        }


попробуйте вначале задать

Код: Выделить всё
$city = "Россия, ";