首页 > 解决方案 > jQuery未定义变量markercluster

问题描述

我有一个带有一堆标记的谷歌地图。缩小时,必须看到标记簇: http: //libris.houston-1.hybridmedia.be/nl/het-project/

我总是得到错误: Uncaught ReferenceError: MarkerCluster is not defined

但是markercluster.js 文件包含正确。现在我完全失去了该做什么:(

标签: javascriptjquerygoogle-mapsmarker

解决方案


它是固定的。我确实写了一个错字“MarkerCluster”必须是“MarkerClusterer”。我还稍微重写了 loadMarkers 函数

function loadMarkers(map) {

    var infoWindow = new google.maps.InfoWindow();
    geojson_url = '/project.geojson';

    jQuery.getJSON(geojson_url, function(result) {
       data = result['locations'];
       jQuery.each(data, function(key, val) {
           var point = new google.maps.LatLng(parseFloat(val['geometry']['coordinates'][0]), parseFloat(val['geometry']['coordinates'][1]));
           var titleText = val['properties']['name'];    
           var address = val['geometry']['address'];
           var marker = new google.maps.Marker({
               position: point,
               title: titleText,
               icon: icons[val['type']].icon,
               map: map,
               properties: val['type']
            });
            var markerInfo = "<div><h3>" + titleText + "</h3> " + address + "</div>";
            marker.addListener('click', function() {
              infoWindow.close();
              infoWindow.setContent(markerInfo);
              infoWindow.open(map, marker);
            });
            markers.push(marker);
          });
          var Marker = new MarkerClusterer(map, markers, {imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'});
          Marker.addMarkers(markers);
      });
    }

我必须从标记中添加 imagePath 才能使其工作。


推荐阅读