Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google地图标记群集类型错误_Javascript_Jquery_Google Maps_Markerclusterer - Fatal编程技术网

Javascript Google地图标记群集类型错误

Javascript Google地图标记群集类型错误,javascript,jquery,google-maps,markerclusterer,Javascript,Jquery,Google Maps,Markerclusterer,我试图将WordPress高级自定义字段示例GoogleMaps代码转换为使用标记聚类。WordPress将大量div写入如下页面: <div class="marker" data-lat="51.48956829999999" data-lng="-0.07924179999997705"> marker: [object Object] latlon: (52.4602277, 0.30479379999997036) marker: [object Object] l

我试图将WordPress高级自定义字段示例GoogleMaps代码转换为使用标记聚类。WordPress将大量div写入如下页面:

<div class="marker" data-lat="51.48956829999999" data-lng="-0.07924179999997705">
marker: [object Object] 
latlon: (52.4602277, 0.30479379999997036) 
marker: [object Object] 
latlon: (52.226946, 0.1440727000000379) 
marker: [object Object] 
latlon: (52.45853469999999, 0.3039631000000327) 
mc_markers:
Uncaught TypeError: undefined is not a function markerclusterer.js?ver=4.1.1:649
Uncaught TypeError: undefined is not a function markerclusterer.js?ver=4.1.1:649
在最后一行尝试渲染贴图之前,一切看起来都很正常,在这一行我得到了错误
uncaughttypeerror:undefined不是一个函数

My console.log输出如下所示:

<div class="marker" data-lat="51.48956829999999" data-lng="-0.07924179999997705">
marker: [object Object] 
latlon: (52.4602277, 0.30479379999997036) 
marker: [object Object] 
latlon: (52.226946, 0.1440727000000379) 
marker: [object Object] 
latlon: (52.45853469999999, 0.3039631000000327) 
mc_markers:
Uncaught TypeError: undefined is not a function markerclusterer.js?ver=4.1.1:649
Uncaught TypeError: undefined is not a function markerclusterer.js?ver=4.1.1:649

有人能解释一下需要做些什么来解决这个问题吗?

问题是我定义了latlon,但实际上没有使用它。这起到了作用:

function render_cluster_map( $el ) {
    var $markers = $el.find('.marker');
    var center = new google.maps.LatLng(0,0);
    var args = {
        zoom        : 2,
        center: center,
        mapTypeId   : google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map( $el[0], args);
    var mc_markers = [];

    $markers.each(function(){
        var marker = jQuery(this);
        var latlon = new google.maps.LatLng( marker.attr('data-lat'), marker.attr('data-lng') );
        var mc_marker = new google.maps.Marker({
            position    : latlon
        }); 
        mc_markers.push( mc_marker );
    });
    var markerCluster = new MarkerClusterer(map, mc_markers);
    center_map(map);
}

您是从哪里获得MarkerClusterer的?您使用的是哪个版本?此错误看起来很奇怪:“UncaughtTypeError:undefined不是函数markerclusterer.js?ver=4.1.1:649”可能与的重复。你没有将
google.maps.Marker
对象数组添加到MarkerClusterer(mc_markers是JQuery数组的一种)。实际上,这是我的一个白痴。虽然我定义了latlon,但我从未真正使用过它。我更新的函数在下面的答案中,我认为错误看起来很奇怪的原因是WordPress使用enqueue_scripts函数添加的。但它来自github