{ $res = json_decode(str_replace("'", '"', $_COOKIE['map_settings']), true); $coords = explode(',', $res['center']); $arParams['INIT_MAP_LON'] = (float) $coords[0]; $arParams['INIT_MAP_LAT'] = (float) $coords[1]; $arParams['INIT_MAP_SCALE'] = (int) $res['zoom']; } else { if($_SERVER['HTTP_X_FORWARDED_FOR']) { $forwarded_for = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $forwarded_for = $forwarded_for[0]; } list($arParams['INIT_MAP_LAT'], $arParams['INIT_MAP_LON']) = array_values(CGreensightGeoip::GetCoordinatesByIP($forwarded_for ? $forwarded_for : $_SERVER['REMOTE_ADDR'])); /// Массив данных масштаба и положения карты if(!$arParams['INIT_MAP_LAT'] || !$arParams['INIT_MAP_LON']) { $arParams['INIT_MAP_LON'] = floatval($arParams['INIT_MAP_LON']); $arParams['INIT_MAP_LON'] = $arParams['INIT_MAP_LON'] ? $arParams['INIT_MAP_LON'] : 37.64; $arParams['INIT_MAP_LAT'] = floatval($arParams['INIT_MAP_LAT']); $arParams['INIT_MAP_LAT'] = $arParams['INIT_MAP_LAT'] ? $arParams['INIT_MAP_LAT'] : 55.76; } $arParams['INIT_MAP_SCALE'] = intval($arParams['INIT_MAP_SCALE']); $arParams['INIT_MAP_SCALE'] = $arParams['INIT_MAP_SCALE'] ? $arParams['INIT_MAP_SCALE'] : 10; } $arResult['ALL_MAP_TYPES'] = array('MAP', 'SATELLITE', 'HYBRID'); $arResult['ALL_MAP_OPTIONS'] = array('ENABLE_SCROLL_ZOOM' => 'ScrollZoom', 'ENABLE_DBLCLICK_ZOOM' => 'DblClickZoom', 'ENABLE_DRAGGING' => 'Dragging', 'ENABLE_HOTKEYS' => 'HotKeys', 'ENABLE_RULER' => 'Ruler');
// если hole_id есть, то, значит, редактирование или удаление ямы if ($hole_id > 0) { $arElement = C1234Hole::GetById($hole_id); } // проверка доступа if ($hole_id && $arElement['USER_ID'] != $USER->GetID() && !$USER->IsAdmin()) { ShowError(GetMessage('ACCESS_DENIED')); return; } // координаты точек и центра карты if (!$hole_id) { if ($_SERVER['HTTP_X_FORWARDED_FOR']) { $forwarded_for = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $forwarded_for = $forwarded_for[0]; } $arResult['map_center'] = CGreensightGeoip::GetCoordinatesByIP($forwarded_for ? $forwarded_for : $_SERVER['REMOTE_ADDR']); if (!$arResult['map_center']) { $map_center = strlen($arResult['HOLE']['~COORDINATES_R'] > 2) ? $arResult['HOLE']['~COORDINATES_R'] : false; if (!$map_center && $arResult['PLACEMARKS']) { $map_center = array(); foreach ($arResult['PLACEMARKS'] as &$p) { $map_center[0] += $p['LON']; $map_center[1] += $p['LAT']; } $map_center = $map_center[0] / sizeof($arResult['PLACEMARKS']) . ',' . $map_center[1] / sizeof($arResult['PLACEMARKS']); } $arResult['map_center'] = $map_center; } else { $arResult['map_center'] = $arResult['map_center']['longitude'] . ',' . $arResult['map_center']['latitude']; } if ($_REQUEST['coord']) {