【问题标题】:jQuery undefined variable markerclusterjQuery未定义变量markercluster
【发布时间】:2018-08-19 14:37:11
【问题描述】:

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

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

但markercluster.js 文件已正确包含。现在我完全不知道该怎么办了:(

【问题讨论】:

  • 也许您可以在代码中的确切位置引发错误或如何导入 MarkerCluster 添加更多定义?从编译的代码中,我只能看到 MarkerCluster 在您调用 var mc = new MarkerCluster(map) 之前没有从任何地方导入
  • 请提供一个minimal reproducible example 来说明问题本身的问题,而不是(仅)一个非工作站点的链接。
  • @K.F 首先我加载 markerclusterer.js 文件:
  • 你有什么发现吗?从文档看来您可能使用了错误的构造函数名称? googlemaps.github.io/js-marker-clusterer/docs/reference.html(应该是MarkerClusterer
  • @K.F 是的,它确实是一个错误的构造函数。我在下面添加了我的答案。谢谢。

标签: javascript jquery google-maps marker


【解决方案1】:

它是固定的。我确实写了一个错字“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 才能使其工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 2021-11-19
    相关资源
    最近更新 更多