2016-07-01 4 views
-1

Я унаследовал плагин, который используетМаркер кластера как добавить JQuery

https://github.com/marioestrada/jQuery-gMap

таким образом, что она производит маркеры, как так:

var results = []; 
    if(locationSet && !jQuery("li.FYN_viewmap").first().hasClass('no-results-found')){ 

    jQuery("li.FYN_viewmap").each(function(index) { 

    var distance = parseInt(jQuery(this).attr('data-distance')), 
    html = '<a href="'+jQuery(this).attr('data-link') + '"><strong>'+jQuery(this).attr('data-title') + '</strong><br /><span style="font-size:0.9em;">' + jQuery(this).attr('data-address') + '</span></a>';   

           results.push({latitude: jQuery(this).attr('data-lat'), longitude: jQuery(this).attr('data-lng'), html: html}); 
jQuery('#FYN_map').gMap({ 
     zoom: zoom, 
     markers: results, 
     controls: controls, 
     icon: icon, 
     }); 

Я не могу работать как добавить к этому кластеру google maps. Есть идеи?

Вся информация Я посмотрел вверх имеет следующий пример:

var markers = []; 
    for (var i = 0; i < 100; ++i) { 
    var latlng = new GLatLng(data.photos[i].latitude, data.photos[i].longitude); 
    var marker = new GMarker(latlng); 
    markers.push(marker); 
    } 
var markerCluster = new MarkerClusterer(map, markers); 

Я не могу видеть, как это связано с каким-либо образом к коду у меня есть в этом плагине, имея в виду, что уже установлено результат latlng в var.

+0

Я получаю ошибку яваскрипта с публикуемым кодом 'fiddle.jshell.net/:62 неперехваченного ReferenceError: locationSet не defined'. Просьба представить [Минимальный, полный, проверенный и читаемый пример] (http://stackoverflow.com/help/mcve), который демонстрирует проблему, включая некоторые примеры данных. – geocodezip

+0

Привет, спасибо, что посмотрели на это. Я знаю, что мой код был немного расплывчатым, но я нашел решение. – MrFox

ответ

0

Я не знаю, поможет ли это кому-либо, но я нашел решение. Теперь я использую другой плагин googlemaps, в котором включена функция кластеров.

gmap3

Чтобы получить массив лат длинных координат мне нужно, чтобы сделать это изменение результатов вара. results.push({position: [ jQuery(this).attr('data-lat'), jQuery(this).attr('data-lng') ] });

И тогда это показывает мою карту:

$('#FYN_map').gmap3({ 
    center: [56.110182, -4.000124], 
    zoom: zoom 
    }) 
    .cluster({ 
    size: 200, 
    markers: results, 
     cb: function (markers) { 
     if (markers.length > 1) { // 1 marker stay unchanged (because cb returns nothing) 
      if (markers.length < 20) { 
      return { 
       content: "<div class='cluster cluster-1'>" + markers.length + "</div>", 
       x: -26, 
       y: -26 
      }; 
      } 
      if (markers.length < 50) { 
      return { 
       content: "<div class='cluster cluster-2'>" + markers.length + "</div>", 
       x: -26, 
       y: -26 
      }; 
      } 
      return { 
      content: "<div class='cluster cluster-3'>" + markers.length + "</div>", 
      x: -33, 
      y: -33 
      }; 
     } 
     } 
    }) 
; 
+0

Хорошо, это был неправильный ответ, потому что gmap3 не позволяет вам добавлять infowindow к маркерам, если вы включили кластеры. Выбрасывание ноутбука из окна – MrFox

 Смежные вопросы

  • Нет связанных вопросов^_^