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

Материал из Энциклопедия фонда «Хайазг»
Перейти к: навигация, поиск
Строка 2: Строка 2:
 
//получает адреса, обрабатывает и отображает точки на карте
 
//получает адреса, обрабатывает и отображает точки на карте
  
function ymGeocod(val,val2)
+
function ymGeocod(val, val2, val3)
 
{
 
{
 +
  //создание переменной для содержимого балуна
 +
  var tmp_bcont = val2 +'<br>'+val3;
 
   //создание переменной для геокодинга
 
   //создание переменной для геокодинга
 
   var mygeocod = ymaps.geocode(val, {results:1});
 
   var mygeocod = ymaps.geocode(val, {results:1});
Строка 15: Строка 17:
 
           var plac = new ymaps.Placemark
 
           var plac = new ymaps.Placemark
 
             (point,  
 
             (point,  
               {balloonContent:val2},
+
               {balloonContent: tmp_bcont },
 
               {//здесь параметры картинок для маркеров
 
               {//здесь параметры картинок для маркеров
 
               /*iconImageHref:'plac.png', iconImageSize: [50,42]*/
 
               /*iconImageHref:'plac.png', iconImageSize: [50,42]*/
Строка 54: Строка 56:
 
// }
 
// }
 
//центральная функция             
 
//центральная функция             
function ymInit(adresses, about)
+
function ymInit(adresses, pict, descripn)
 
{
 
{
 
//массив адресов
 
//массив адресов
ar= adresses;
+
//ar= adresses;
 
//массив данных об адресах
 
//массив данных об адресах
ar2 = about;
+
//ar2 = about;
 
   // Создаем кластеризатор со стандартными иконками
 
   // Создаем кластеризатор со стандартными иконками
 
   cluster = new ymaps.Clusterer();//{clusterIcons : clusterIcons});
 
   cluster = new ymaps.Clusterer();//{clusterIcons : clusterIcons});
Строка 86: Строка 88:
 
   //deleteMarker();
 
   //deleteMarker();
 
   //последовательный геокодинг и добавление адресов на карту в кластере
 
   //последовательный геокодинг и добавление адресов на карту в кластере
   for (var i=0; i < ar.length; i++)
+
   for (var i=0; i < adresses.length; i++)
     { var tmp = reger(ar2[i]);
+
     { //var tmp = reger(ar2[i]);
       ymGeocod(ar[i], tmp);
+
       if (adresses[i]==null){continue;}
 +
        else{
 +
              ymGeocod(adresses[i], pict[i], descripn[i]);
 +
            }
 
     }
 
     }
 
}
 
}

Версия 08:25, 4 июня 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(adresses, pict, descripn)
{
//массив адресов
//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');

  //удаление маркеров из кластера и с карты
  //deleteMarker();
  //последовательный геокодинг и добавление адресов на карту в кластере
  for (var i=0; i < adresses.length; i++)
    { //var tmp = reger(ar2[i]);
      if (adresses[i]==null){continue;}
        else{
              ymGeocod(adresses[i], pict[i], descripn[i]);
            }
    }
}