Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.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 谷歌地图聚类与批量数据问题与放大或缩小时间_Javascript_Php_Jquery_Google Maps_Google Maps Markers - Fatal编程技术网

Javascript 谷歌地图聚类与批量数据问题与放大或缩小时间

Javascript 谷歌地图聚类与批量数据问题与放大或缩小时间,javascript,php,jquery,google-maps,google-maps-markers,Javascript,Php,Jquery,Google Maps,Google Maps Markers,需要呈现的总数据为100000。我正在发送10000个补丁的数据,并将其浓缩,以显示最终的100000个标记的单个集群,这些标记可以正常工作。但在放大后,当我单击“缩小”按钮时,它会再次在每个缩放更改的事件上形成10000个补丁,并通过形成10000个集群而不是形成单个集群来重叠。解决方案是在循环通过标记之前清除数据 //This is the code// var mapDiv = document.getElementById('newmap'); map = new google.maps

需要呈现的总数据为100000。我正在发送10000个补丁的数据,并将其浓缩,以显示最终的100000个标记的单个集群,这些标记可以正常工作。但在放大后,当我单击“缩小”按钮时,它会再次在每个缩放更改的事件上形成10000个补丁,并通过形成10000个集群而不是形成单个集群来重叠。

解决方案是在循环通过标记之前清除数据

//This is the code//
var mapDiv = document.getElementById('newmap');
map = new google.maps.Map(mapDiv, {
        center: new google.maps.LatLng(latitude, longitude),
        zoom: zoom,
        panControl: true,
        mapTypeControl: true,
        mapTypeControlOptions: {
        style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
        },
        zoomControl: true,
        zoomControlOptions:
         {
          position: google.maps.ControlPosition.LEFT_TOP,

         },
        streetViewControl: true,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    });
var new_arr=new Array();
function addMarker1(locations,outletname,outletData)
{
           var markers1 = locations.map(function(location, i)
            {
                 return new google.maps.Marker
                  ({
                      position: location,
                  });
            });
var markerCluster = new MarkerClusterer(map, new_arr,{imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'});
              new_arr=new_arr.concat(markers1);
              markerCluster.resetViewport();
              markerCluster.clearMarkers();
              markers = [];
              markerCluster.removeMarker(new_arr);
              markerCluster.addMarkers(new_arr);
              markerCluster.redraw();
}
// this is sending location in patches of 10000 each//
addMarker1(j,outletname,outletData);
            if (markerCluster) 
            {
                  markerCluster.clearMarkers();
                  markerCluster.resetViewport();
                  markers = [];
                  markerCluster.removeMarker(new_arr);
            }