Javascript Google地图标记群集类型错误
我试图将WordPress高级自定义字段示例GoogleMaps代码转换为使用标记聚类。WordPress将大量div写入如下页面: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
<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