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

Местоположение объекта на карте

СообщениеДобавлено: 14 окт 2013, 19:44
Mono
Ребята помогите пожалуйста советом, подскажите какой код отвечает при создании объявления пользователем за поиск на карте и сохранение местоположения на карте ? В каком файле это живет?

Кажется я немного поломал это, и уже полдня не могу найти куда смотреть =-O

Проблема в том что не сохраняется местоположение объекта на карте при создании объявления из под пользователя, а из под админа и при редактировании объявления пользователем все ок.

Re: Местоположение объекта на карте

СообщениеДобавлено: 14 окт 2013, 20:52
Xpycm
Файл protected\modules\userads\controllers\MainController.php/
Метод actionCreate. Здесь добавляется объявление со статусом "Черновик" и идёт редирект на actionUpdate()

Т.е, по идее, можно сразу смотреть на метод actionUpdate().

За выставление координат отвечает код в этом методе:
Код: Выделить всё
if (!$model->lat && !$model->lng) { # уже есть

    $coords = Geocoding::getCoordsByAddress($model->address, $city);

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

Здесь мы используем Геокодирование по адресу и городу.

Далее, в этом же файле есть метод actionSavecoords(). Он отвечает за сохранение координат при перемещении вручную маркера на карте.

Re: Местоположение объекта на карте

СообщениеДобавлено: 14 окт 2013, 21:05
Mono
заменяю на файл из бэкапа protected\modules\userads\controllers\MainController.php/

ничего не меняется, все равно при создании объявления пользователем местоположение на карте не сохраняется(

я если честно уже все папки по очереди перетаскал из бэкапа, ничего не помогает. Может это как то быть связано с мускулем на сервере? не пишется в таблицу или еще что, я уже не знаю куда думать *WALL*

Re: Местоположение объекта на карте

СообщениеДобавлено: 14 окт 2013, 21:20
Mono
О! а ларчик то просто открывался, взял файлик из 1.6.1 ( у меня 1.6.0) и все заработало,

заменил вот этот кусок в protected\modules\userads\controllers\MainController.php/ из 1.6.0

Код: Выделить всё
public function actionSavecoords($id){
        if(param('useGoogleMap', 1) || param('useYandexMap', 1)){
            $apartment = $this->loadModelUserAd($id);
            if(isset($_POST['lat']) && isset($_POST['lng'])){
                $apartment->lat = $_POST['lat'];
                $apartment->lng = $_POST['lng'];
                $apartment->save();
            }
            Yii::app()->end(); 


на вот это из 1.6.1

Код: Выделить всё
public function actionSavecoords($id){
        if(param('useGoogleMap', 1) || param('useYandexMap', 1)){
            $apartment = $this->loadModelUserAd($id);
            if(isset($_POST['lat']) && isset($_POST['lng'])){
                $apartment->lat = floatval($_POST['lat']);
                $apartment->lng = floatval($_POST['lng']);
                $apartment->update(array('lat', 'lng'));
            }
            Yii::app()->end(); 


Проблема ушла. Спасибо за подсказку!!!

Re: Местоположение объекта на карте

СообщениеДобавлено: 14 окт 2013, 21:35
Xpycm
А такая проблема была уже - viewtopic.php?f=8&t=7&start=40#p3256
Беда в том, что некоторые пользователи пишут "где попало", а не в соответствующих ветках или новых топиках.

Re: Местоположение объекта на карте

СообщениеДобавлено: 14 окт 2013, 22:00
Mono
вот блин, я искал по форуму, но там написано "Статья "Яндекс.Карта в Open Real Estate"" у меня только гугль карта, я и не стал в тут тему заглядывать, и полдня на это потратил =-O