Устанавливаем центр и масштаб для карты "все объекты" загружаемой как показано у топикстартера.
В приложенном архиве два файла:
/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