MediaWiki:Common.js — различия между версиями

Материал из Энциклопедия фонда «Хайазг»
Перейти к: навигация, поиск
Строка 56: Строка 56:
 
// }
 
// }
 
//центральная функция             
 
//центральная функция             
function ymInit(adresses, pict, descripn)
+
function ymInit(S_all)
 
{
 
{
 
//массив адресов
 
//массив адресов
Строка 85: Строка 85:
 
   myMap.behaviors.enable('scrollZoom');
 
   myMap.behaviors.enable('scrollZoom');
  
  //удаление маркеров из кластера и с карты
+
//обработка входящей информации
   //deleteMarker();
+
S_all=S_all.toString();
 +
    A_all=S_all.split('‼');
 +
   for (var i=0;i<A_all.length; i++)
 +
    {A_all[i]=A_all[i].split('|');}
 +
 
 
   //последовательный геокодинг и добавление адресов на карту в кластере
 
   //последовательный геокодинг и добавление адресов на карту в кластере
   for (var i=0; i < adresses.length; i++)
+
   for (var i=0; i < A_all.length; i++)
     { //var tmp = reger(ar2[i]);
+
     {  
       if (adresses[i]==null){continue;}
+
       if (A_all[i][2]==null){continue;}
 
         else{
 
         else{
               ymGeocod(adresses[i], pict[i], descripn[i]);
+
               ymGeocod(A_all[i][1], A_all[i][0], A_all[i][2]);
 
             }
 
             }
 
     }
 
     }
 
}
 
}

Версия 15:07, 5 июня 2012

/* Размещённый здесь JavaScript код будет загружаться всем пользователям при обращении к каждой странице */
//получает адреса, обрабатывает и отображает точки на карте

function ymGeocod(val, val2, val3)
{
  //создание переменной для содержимого балуна
  var tmp_bcont = val2 +'<br>'+val3;
  //создание переменной для геокодинга
  var mygeocod = ymaps.geocode(val, {results:1});
  //после обработки делаем функцию...
    mygeocod.then(
      function(res){
        if(res.geoObjects.getLength()) {
          //координаты точки для маркера
          var point = res.geoObjects.get(0).geometry.getCoordinates();
          //plac- маркер с контентом, его передать в кластерер
          var plac = new ymaps.Placemark
            (point, 
              {balloonContent: tmp_bcont },
              {//здесь параметры картинок для маркеров
              /*iconImageHref:'plac.png', iconImageSize: [50,42]*/
              }
            );
          //добавление маркеров в кластерер
          cluster.add(plac);    
          //отображение кластерера на карте
          myMap.geoObjects.add(cluster);
        }
      }
    )
}
function reger(reger)
{//alert("reger func");
//var str= reger;
//alert(str);
var str= reger.toString();
//alert(str);
//var reg = new RegExp("","g");
//var reg = /\/n/gi;
//var reg = /\n/gi;
//var res = str.replace(reg, "\ ");
//alert(res);
//return res = str.replace(reg, "\ ");
//return res = str.replace(/\\n/, "\ ");
//var res= str.replace(reg, '\\');
//var res = str;
//alert(res);
return str;
}
// // Удаление всех меток с карты
// function ymDeleteMarker () {
//   // Удаляем все  метки из кластера
//   cluster.removeAll();
//   // Удаляем кластер с карты
//   myMap.geoObjects.remove(cluster);
// }
//центральная функция             
function ymInit(S_all)
{
//массив адресов
//ar= adresses;
//массив данных об адресах
//ar2 = about;
  // Создаем кластеризатор со стандартными иконками
  cluster = new ymaps.Clusterer();//{clusterIcons : clusterIcons});
  //создание кластеризатора с пользовательскими иконками
  //cluster = new ymaps.Clusterer({clusterIcons : clusterIcons});

  // Создание экземпляра карты myMap и его привязка к контейнеру с
  //  заданным id ("map")
  myMap = new ymaps.Map('map', {
    center: [47.23,39.73],
    zoom: 10,
  });
  
  //добавление инструментов для просмотра
  myMap.controls
  // Кнопка изменения масштаба
  .add('zoomControl')
  // Список типов карты
  .add('typeSelector')
  // Стандартный набор кнопок
  .add('mapTools');
  //скролл колесиком
  myMap.behaviors.enable('scrollZoom');

//обработка входящей информации
S_all=S_all.toString();
    A_all=S_all.split('‼');
  for (var i=0;i<A_all.length; i++)
    {A_all[i]=A_all[i].split('|');}
  
  //последовательный геокодинг и добавление адресов на карту в кластере
  for (var i=0; i < A_all.length; i++)
    { 
      if (A_all[i][2]==null){continue;}
        else{
              ymGeocod(A_all[i][1], A_all[i][0], A_all[i][2]);
            }
    }
}