AlekseyLego

Центр и масштаб карты -- как?

Recommended Posts

Стоит эта карта: 

<iframe src="{$estate_folder}/js/ajax.php?action=iframe_map" style="border; 0px;" border="0" width="100%" height="100%"></iframe>

Как на ней задать отображение центра и масштаба по умолчанию.

пс

Раздел GeoData юзал -- на карту он не влияет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
10 часов назад, Aleksey Lego сказал:

Стоит эта карта: 


<iframe src="{$estate_folder}/js/ajax.php?action=iframe_map" style="border; 0px;" border="0" width="100%" height="100%"></iframe>

Как на ней задать отображение центра и масштаба по умолчанию.

пс

Раздел GeoData юзал -- на карту он не влияет.

Карта вроде как центруется и масштабируется автоматически, исходя из массива местоположений объектов на ней. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, Chernetskiy сказал:

Карта вроде как центруется и масштабируется автоматически, исходя из массива местоположений объектов на ней. 

Это понятно, только у меня объекты расположены не равномерно. 200 в Москве и 5 от Москвы до в Сибири.

Настройки же данные в системе есть, значит они должны работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
19 минут назад, Aleksey Lego сказал:

Это понятно, только у меня объекты расположены не равномерно. 200 в Москве и 5 от Москвы до в Сибири.

Настройки же данные в системе есть, значит они должны работать.

Карта автомасштабируется и включает в себя те объекты, которые расположены на странице сайта (если карта старого шаблона) или все объекты (если карта нового шаблона и включен показ всех объектов). Поскольку показ всех объектов - бестолковое зрелище, логично вообще отключить карту на главной.

У меня карта старого формата и с бестолковым автомасштабированием (когда местные и зарубежные объекты на странице) борюсь простым способом - поднимаю на первую страницу местные об'екты, зарубежка на последующих, соответственно и карта показывает подробнее и по местности а не в углах и по всему миру :) 

Настройки-то в системе есть, только они не рассчитаны на наш случай.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Предложение разработчикам

В справочники регионы и города включить поля координаты центра карты рениона и города.

На главной установить выбор рениона или города и только после выбора выдавать сетку грида обьектов и карту

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 23.02.2017 в 14:19, TopRaN сказал:
  1. К чему это?
  2. Подобные карты можно составлять и в Яндексе  - Конструктор карт. Хоть со значками, хоть с надписями, хоть со стрелочками и выделением областей - территорий, рисованием на карте... Только у Гугла это будет просто картинка, а у Яндекса статическая карта с кликабельными значками, возможностью уменьшения или увеличения, масштабирования, перехода на большую карту, прокладки маршрута к объекту и т.п., вот например у меня карта Яндекса в описании "О нас" (внизу текста подгружается)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Игорь Иванович, значит вы как всегда не внимательно прочитали то что хочет пользователь и то, что скинул я.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, TopRaN сказал:

Игорь Иванович, значит вы как всегда не внимательно прочитали то что хочет пользователь и то, что скинул я.

Так и в чем прелесть этого решения? Вместо скрипта будет работать генератор ссылки, которая адресуется Гуглу, а тот в ответ выдаст изображение jpg, gif или png которое не переместить, ни увеличить в масштабе, не переключить на рельеф и обратно, если клиенту понадобится масштаб мельче или крупнее, посмотреть окрестности со спутника и т.п. По большому счету тот-же х... только вид сбоку, с кастрированными возможностями для пользователя.

Единственное удобство - можно указать центр карты. :) В масштабе России это очень актуальный аргумент.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Устанавливаем центр и масштаб для карты "все объекты" загружаемой как показано у топикстартера.

В приложенном архиве два файла:

/apps/system/template/iframe_map.tpl

/apps/system/js/realtymap.js

Вам необходимо заменить такие же файлы в вашей копии движка. Они войдут в обновления позже. Поэтому внедрять это лучше на самой свежей версии system. Обязательно сделайте копию заменяемых файлов, я допускаю, что мои файлы могут иметь функционал ушедший немного вперед по отношению к доступны файлам.

 

Далее, в файле /apps/system/lib/system/ajax/ajax_server.php необходимо найти protected function _iframe_mapAjaxAction() и у нее внутри после

$DBC=DBC::getInstance();

добавить строки

if(isset($_GET['custom_center'])){
$crds=preg_replace('/[^\d\.,-]/', '', $_GET['custom_center']);
if($crds!=''){
$this->template->assign('custom_center', $crds);
}

}
if(isset($_GET['defaultZoom'])){
$dz=intval($_GET['defaultZoom']);
if($dz>0 && $dz<21){
$this->template->assign('defaultZoom', $dz);
}

}

 

Подготовительный этап завершен. Теперь передаем параметры. В строке подключения

<iframe src="{$estate_folder}/js/ajax.php?action=iframe_map&custom_center=42.556334,27.645153&defaultZoom=10" style="border; 0px;" border="0" width="100%" height="100%"></iframe>

добавляем два параметра - custom_center и defaultZoom

Первый указывает центр карты. Если он передан, то карта отцентрируется по этой точке вне зависимости от количество попавших маркеров в область видимости.

Второй указываем масштаб отцентрированной карты. Эта настройка не имеет смысла без указания предыдущей - если пользовательский центр не задан, то карта отцентрируется  и отмасштабируется так, что бы показать все маркеры.

rmap_mod.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если кто-то будет пробовать применять решение из предыдущего поста, отпишите пожалуйста о результате внедрения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас