2015-12-15 200 views
0

我已經用標記加載了默認的Google地圖,必須刪除當前標記。我已經使用googolle mpa和啓動頁面加載之前的功能如何從谷歌地圖中刪除舊標記放置新的標記?

請檢查我的下面的代碼,並adivse如何實現這一點。

$(document).ready(function() { 
var markers = []; 

//var markers = []; 
var track_click = 0; //track user click on "load more" button, righ now it is 0 click 

var total_pages = 4; 
var page; 

$.ajax({ 
    url:"<?php echo base_url('search_jobs/fetch_jobs')?>", 
     type: "POST", 
     dataType: 'json', 
    beforeSend: function(){ 
    $('#loader-icon').show(); 
    }, 
    complete: function(){ 
    $('#loader-icon').hide(); 
    }, 
    success: function (result) { 



    //alert("hi"); 
    $('#jobsfound').html(result.search_results); 

     var list = result.map_array; 

     var image = "<?php echo base_url(); ?>assets/images/pros_marker.png"; 


     $.each(list, function(index, value) { 

       var newLatLng = new google.maps.LatLng(list[index].latitude, list[index].longitude); 
      console.log(list[index].latitude, list[index].longitude); 


       markers [index] = new google.maps.Marker({ 
     map: map 
    }); 
    markers[index].setPosition(newLatLng); 
        //markers.push(marker); 


     }) 

     //initialize(); 
    } 

    }) 


$.ajax({ 
    url:"<?php echo base_url('search_jobs/fetch_jobs')?>", 
     type: "POST", 

    data:'location_checkboxes='+ values + '&budget_value=' + budget_value + 
    '&job_dates=' + job_date + '&page='+track_click, 
    dataType: 'json', 
    beforeSend: function(){ 
    $('#loader-icon').show(); 
    }, 
    complete: function(){ 
    $('#loader-icon').hide(); 
    }, 
    success: function (result) { 
     $('#jobsfound').html(result.search_results); 
     //alert($("#test").text()); 
     //initialize(); 
     var list = result.map_array; 
     var image = "<?php echo base_url(); ?>assets/images/pros_marker.png"; 
     $.each(list, function(index, value) { 

      var lat = parseFloat(value.latitude); 
      var lng = parseFloat(value.longitude); 
      var newLatLng = new google.maps.LatLng(list[index].latitude, list[index].longitude); 

        //markers[index] = new google.maps.Marker({ 
    //       position: newLatLng, 
//       icon:image, 
//       map: map, 
    //       draggable: false 
    //      }); 

       markers [index] = new google.maps.Marker({ 
     map: map 
    }); 
    markers[index].setPosition(newLatLng); 
        //markers.push(marker); 

     }) 

    } 
})  
    google.maps.event.addDomListener(window, 'load', initialize); 
+0

遍歷標記列表螞蟻的setMap(空)每個這樣會從地圖中刪除。刪除標記並創建新的標記 –

+0

可以給我代碼如何迭代 – Parker

+0

創建一個jsfiddle或者一個plunker,我會爲你編輯它 –

回答

0

設置標記爲全局陣列之前初始化功能(請參閱http://www.w3schools.com/googleapi/google_maps_basic.asp

變種標記= [];

$(document).ready(function() { 


//var markers = []; 

//var markers = []; 
var track_click = 0; //track user click on "load more" button, righ now it is 0 click 

var total_pages = 4; 
var page; 

$.ajax({ 
    url:"<?php echo base_url('search_jobs/fetch_jobs')?>", 
     type: "POST", 
     dataType: 'json', 
    beforeSend: function(){ 
    $('#loader-icon').show(); 
    }, 
    complete: function(){ 
    $('#loader-icon').hide(); 
    }, 
    success: function (result) { 



    //alert("hi"); 
    $('#jobsfound').html(result.search_results); 

     var list = result.map_array; 

     var image = "<?php echo base_url(); ?>assets/images/pros_marker.png"; 


     $.each(list, function(index, value) { 

      var contentString = '<div id="content">'+list[index].title+'</div>'; 


      var infowindow = new google.maps.InfoWindow({ 
       content: contentString 
       }); 
       var newLatLng = new google.maps.LatLng(list[index].latitude, list[index].longitude); 
      console.log(list[index].latitude, list[index].longitude); 


      markers [index] = new google.maps.Marker({ 
        icon:image, 

        map: map 
      }); 

      markers[index].setPosition(newLatLng); 

       markers[index].addListener('mouseover', function() { 
       infowindow.open(map, marker); 
       }); 

        //markers.push(marker); 


     }) 

     //initialize(); 
    } 

    }) 


});