Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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 将MarkerClusterer与$.ajax调用一起使用的正确方法_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 将MarkerClusterer与$.ajax调用一起使用的正确方法

Javascript 将MarkerClusterer与$.ajax调用一起使用的正确方法,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我想使用库“MarkerClusterer”()通过API在Google地图上对我的标记进行聚类 我试图在我的实际代码中实现它,但当我缩小/缩小集群时,它就失效了。当我刷新页面时,集群的数量是不一样的。为什么? 下面是我想用这个API做的事情: 我做错了什么?谢谢您的帮助。我回答了我的问题,因为我找到了解决方案,这要感谢@Lixus以正确的方式帮助我 我们必须在ajax调用之外设置新的MarkerClusterer,并将其设置为空的标记数组。然后我们用标记数组调用方法.addMarkers(

我想使用库“MarkerClusterer”()通过API在Google地图上对我的标记进行聚类

我试图在我的实际代码中实现它,但当我缩小/缩小集群时,它就失效了。当我刷新页面时,集群的数量是不一样的。为什么?

下面是我想用这个API做的事情:


我做错了什么?谢谢您的帮助。

我回答了我的问题,因为我找到了解决方案,这要感谢@Lixus以正确的方式帮助我

我们必须在ajax调用之外设置新的MarkerClusterer,并将其设置为空的标记数组。然后我们用标记数组调用方法.addMarkers()

var mcOptions    = {gridSize: 50, maxZoom: 15, imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'};
var mc           = new MarkerClusterer(map, [], mcOptions);
然后在我们的ajax调用中,我们做了如下操作:

 marker = new google.maps.Marker({
            position: latlng,
            map: map,
            icon: icon,
            // Custom property to hold the filters options, it'a used below to filter the markers
          });

          // Add markers to array
          map.markers.push(marker);

          mc.addMarkers(map.markers);

您是否缺少变量
标记
或者这是复制+粘贴错误?@Lixus:已修复:)复制/粘贴错误您是否只是在每个ajax调用中添加一个标记?如果是这样,那么每次调用都要创建新的集群,您应该更喜欢在其外部创建一个新集群,使用空数组作为参数,在调用内部执行
markerCluster.addMarker()
查看这是否有效标题的选择很差。MarkerCluster工作正常,您需要更正其使用方式。{错误消息:“您已超过此API的每日请求配额。”,结果:[,…}错误消息:“您已超过此API的每日请求配额。”结果:[]状态:“超过查询限制”
 marker = new google.maps.Marker({
            position: latlng,
            map: map,
            icon: icon,
            // Custom property to hold the filters options, it'a used below to filter the markers
          });

          // Add markers to array
          map.markers.push(marker);

          mc.addMarkers(map.markers);