【发布时间】:2019-11-12 22:11:35
【问题描述】:
您好,当我运行以下代码时出现错误。我在哪里犯错? 如果您能提供帮助,我将不胜感激 提前致谢
错误:TypeError:marker.getPosition 不是函数
function initMap() {
var locations = [
['Bondi<br>Beach', -33.890542, 151.274856, 4],
['Coogee Beach', -33.923036, 151.259052, 5],
];
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: new google.maps.LatLng(-33.92, 151.25),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infowindow = new google.maps.InfoWindow();
var markers, i;
for (i = 0; i < locations.length; i++) {
var markers = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map
});
google.maps.event.addListener(markers, 'click', (function(markers, is) {
return function() {
infowindow.setContent(locations[is][0]);
infowindow.open(map, markers);
}
})(markers, i));
var markerCluster = new MarkerClusterer(map, markers,{imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'});
}
}
<script src="https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/markerclusterer.js">
</script>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=xxx&callback=initMap"></script>
【问题讨论】:
-
你有什么错误吗?
-
你的代码有很多问题。那是什么?
(function(markers, is)... 为什么调用包含 1 个标记“markers”的变量?你为什么要在你的循环内创建你的集群,即。多次,每次只有 1 个标记?阅读文档或从众多可用示例之一开始怎么样? -
它应该是什么?
标签: javascript google-maps google-maps-markers markerclusterer