// разбор адресной строки и формирование списка параметров
function parseGetParams() {
var $_GET = {};
var __GET = window.location.search.substring(1).split("&");
for(var i=0; i<__GET.length; i++) {
var getVar = __GET[i].split("=");
$_GET[getVar[0]] = typeof(getVar[1])=="undefined" ? "" : getVar[1];
}
return $_GET;
}
var settings = {
"appTitle":"Ногинский район",
"appDescription":"Справочная информация по Ногинскому району"
};
var maptree = [{"id":"fon","text":"Фоновые карты","img":"","expanded":true,"nodes":[{"id":"worldmap","text":"Карта мира","clickable":true,"img":"ico_panorama"},{"id":"googleMap","text":"Google","clickable":true,"img":"ico_google"},{"id":"osmMap","text":"OpenStreetMap","clickable":true,"img":"ico_osm"}]},{"id":"map","text":"Карты","img":"","expanded":true,"nodes":[{"id":"dealers","text":"Дилеры КБ Панорама","clickable":true,"img":"icon-page"},{"id":"guestmap","text":"Инфраструктура","clickable":true,"img":"icon-page"},{"id":"Noginsk","text":"Noginsk","clickable":true,"img":"icon-page"}]}
]
var hm_options = [{"LayerName":"guestmap","alias":"Растительность","radius":256,"elemsize":50,"excodes":"71132100,22520000,62131000","palettecount":0,"palette":1796}];
var options = {
"url":"http://gis.devteam.npoavs.ru:10088/GISWebServiceSE/service.php",
"id":"dvMap",
"center":[55.843436,38.436089],
"tilematrix":13,
"crs":3857,
"tilematrixset":"GoogleMapsCompatible",
"mergewmslayers":false,
"showsettings":true,
"locale":"ru-ru",
"shortlegend":0,
"layers":[
{
"id":"googleMap",
"alias":"Google",
"selectObject":0,
"url":"http://mt1.google.com/vt/lyrs=m@250000000&hl=ru&src=app&x=%x&y=%y&z=%z&s=Galileo",
"hidden":1,
"opacityValue":0
},
{
"id":"osmMap",
"alias":"OpenStreetMap",
"selectObject":0,
"url":"http://b.tile.openstreetmap.org/%z/%x/%y.png",
"hidden":1,
"opacityValue":0
},
{
"id":"worldmap",
"alias":"Карта мира",
"selectObject":0,
"url":"SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=Worldmap&STYLE=default&TILEMATRIXSET=%tilematrixset&TILEMATRIX=%z&TILEROW=%y&TILECOL=%x&FORMAT=image/png",
"opacityValue":0
},
{
"id":"dealers",
"alias":"Дилеры КБ Панорама",
"selectObject":1,
"url":"SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=dealers&STYLE=default&TILEMATRIXSET=%tilematrixset&TILEMATRIX=%z&TILEROW=%y&TILECOL=%x&FORMAT=image/png8",
"keyssearchbyname":["TOWN","COUNTRY"],
"opacityValue":0
},
{
"id":"guestmap",
"alias":"Инфраструктура",
"selectObject":1,
"url":"SERVICE=WMS&REQUEST=GetMap&VERSION=1.3.0&FORMAT=image/png&LAYERS=guestmap&BBOX=%bbox&HEIGHT=%h&WIDTH=%w&CRS=%crs&dt=%dt",
"keyssearchbyname":["NAME"],
"legend":"*",
"opacityValue":0
},
{
"id":"Noginsk",
"alias":"Ногинский район",
"selectObject":1,
"url":"SERVICE=WMTS&REQUEST=GetMap&VERSION=1.3.0&LAYER=0001&STYLE=default&TILEMATRIXSET=%tilematrixset&TILEMATRIX=%z&TILEROW=%y&TILECOL=%x&FORMAT=image/png",
"keyssearchbyname":["ObjName"],
"legend":"*",
"opacityValue":0
}
],
"matrix":[
{
"id":"coverage1",
"alias":"Матрица высот на мир",
"url":"http://gis.devteam.npoavs.ru:10088/GISWebServiceSE/service.php?LAYER=world&METHOD=GETCOVERAGETILE&tilematrixset=%tilematrixset&tilerow=%tilerow&tilecol=%tilecol&tilematrix=%scale&service=WCS&format=wcs"
}
],
"controls":["*"],
"url_addresssearch":["http://localhost/service/address.php?filter=","адреса в адресной базе"],
"url_addressatcoord":["http://geocode-maps.yandex.ru/1.x/?"],
"contenttree":maptree,
"sectionsURL":"http://localhost/geojson/GeoJSON.php",
"sectionsFname":"Sections.json",
"clusterifyURL":"http://localhost/geojson/GeoJSON.php",
"clusterifyFname":"RUS-MobileSpeedcams_Garmin.json",
"hm_options":hm_options,
"navigatorcontrol":{
"zoomStep":0,
"width":0,
"height":0,
"url":""
}
};
var settings_mapEditor = {
"maplayersid":["guestmap","Noginsk"],
"functions":["*"]
}; $(function () {
// локализация шапки
w2utils.locale('locale/gwsse/' + options.locale + '.json');
$("#gws_name").text(settings.appTitle);
$("#gws_description").text(settings.appDescription);
$('#developlink').html(w2utils.lang('KB Panorama'));
$('#enterlink').text(w2utils.lang('Enter'));
$('#exitlink').text(w2utils.lang('Exit'));
if (options.layers.length == 0) {
w2alert(w2utils.lang('No layers are defined!'));
}
else {
// инициализация приложения
initApp();
}
});
// разбираем параметры запроса и вносим изменения в options
var get_params = parseGetParams();
if ('b' in get_params && 'l' in get_params) {
// широта, долгота
options.center[0] = get_params['b'];
options.center[1] = get_params['l'];
}
if ('z' in get_params) {
// zoom
options.tilematrix = get_params['z'];
}
if ('layers' in get_params) {
// отображение слоев
var layers = get_params['layers'].split(',');
for (var i = 0; i < options.layers.length; i++) {
if (layers.indexOf(options.layers[i]['id']) == -1) {
options.layers[i]['hidden'] = 1;
}
else {
options.layers[i]['hidden'] = 0;
}
}
}
|