Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
Php 如何在谷歌地图上逐个加载标记动画_Php_Ajax_Laravel_Google Maps_Google Maps Markers - Fatal编程技术网

Php 如何在谷歌地图上逐个加载标记动画

Php 如何在谷歌地图上逐个加载标记动画,php,ajax,laravel,google-maps,google-maps-markers,Php,Ajax,Laravel,Google Maps,Google Maps Markers,我有一些关于地图上谷歌标记的ajax代码。它的工作很好。现在我想一个接一个地放下标记,而不是一次装入所有标记。请帮助我 $.ajax({ type: 'get', url: APP_URL + '/yestoday', data: {_token:"{{csrf_token()}}"}, success: function (data) { debugger;

我有一些关于地图上谷歌标记的ajax代码。它的工作很好。现在我想一个接一个地放下标记,而不是一次装入所有标记。请帮助我

$.ajax({
            type: 'get',
            url: APP_URL + '/yestoday',
            data: {_token:"{{csrf_token()}}"},
            success: function (data) {
              debugger;
               // console.log(data);
                var locations  = Array();
                var map = new google.maps.Map(document.getElementById('map'), {
                center: new google.maps.LatLng(20.593683,78.962883),
                zoom: 7,
                });
                jQuery.each(data , function (index, value){

                var points = Array();
                var point = new google.maps.LatLng(parseFloat(value.latitude),parseFloat(value.longitude));

                points.push(parseFloat(value.latitude));
                points.push(parseFloat(value.longitude));
                points.push(value.store_name);
                points.push(value.store_address);  

                locations.push(points);

                var marker = new google.maps.Marker({
                    position: point,
                    map: map,
                    animation: google.maps.Animation.DROP,
                });

                var infowindow = new google.maps.InfoWindow();
                google.maps.event.addListener(marker, 'mouseover', function() {
                  infowindow.setContent('<div><strong>'+points[2]+'</strong><br><strong>'+points[3]+'</strong></div>');
                  infowindow.open(map, this);
                });
                google.maps.event.addListener(marker, 'mouseout', function() {
                  infowindow.close();
                });
            });
        },
    });
您可以通过使用setTimeout函数来实现

设置delayMarker=200;//您可以在这里设置延迟时间

您可以使用setTimeout

您可以在Google Maps的API文档中找到一个示例,它可以满足您的需求:


您可以设置animation marker.setAnimationgoogle.maps.animation.BOUNCE;兄弟…工作很好…@Parth欢迎Parth
$.ajax({
    type: 'get',
    url: APP_URL + '/yestoday',
    data: {_token:"{{csrf_token()}}"},
    success: function (data) {
        var locations  = Array();
        var map = new google.maps.Map(document.getElementById('map'), {
            center: new google.maps.LatLng(20.593683,78.962883),
            zoom: 7,
        });

        var delayMarker = 200;
        jQuery.each(data , function (index, value){

            setTimeout(function() {

                var points = Array();
                var point = new google.maps.LatLng(parseFloat(value.latitude),parseFloat(value.longitude));

                points.push(parseFloat(value.latitude));
                points.push(parseFloat(value.longitude));
                points.push(value.store_name);
                points.push(value.store_address);
                locations.push(points);

                var marker = new google.maps.Marker({
                    position: point,
                    map: map,
                    animation: google.maps.Animation.DROP,
                });

                var infowindow = new google.maps.InfoWindow();
                google.maps.event.addListener(marker, 'mouseover', function() {
                    infowindow.setContent('<div><strong>'+points[2]+'</strong><br><strong>'+points[3]+'</strong></div>');
                    infowindow.open(map, this);
                });

                google.maps.event.addListener(marker, 'mouseout', function() {
                    infowindow.close();
                });

            },index * delayMarker);

        });
    },
});
function drop() {
  clearMarkers();
     for (var i = 0; i < neighborhoods.length; i++) {
         addMarkerWithTimeout(neighborhoods[i], i * 200); // Increase this value to slower the animation or decrease it to make it faster
     }
}

function addMarkerWithTimeout(position, timeout) {
  window.setTimeout(function() {
     markers.push(new google.maps.Marker({
         position: position,
         map: map,
         animation: google.maps.Animation.DROP
     }));
         }, timeout);
}

function clearMarkers() {
   for (var i = 0; i < markers.length; i++) {
      markers[i].setMap(null);
   }
      markers = [];
}