2016-12-05 20 views
0

我使用的是jQuery Google map script,我想通过jquery点击事件同时删除多个标记。在jquery googlemaps中过滤和删除多个标记

标记在一个数组如下:

 var markers = [ 
       [35.788923, 51.238585, 'دکتر محسن رمضانی', 'تهران دست چپ', 'tehran-umumi' ], 
       [35.708923, 51.208585, 'دکتر محسن اسماعیلی', 'تهران دست چپ', 'tehran-umumi' ], 
       [35.728923, 51.318585, 'دکتر محسن شجاعی', 'تهران دست چپ', 'tehran-umumi' ], 
       [35.728923, 51.318585, 'دکتر محسن محصنی', 'تهران دست چپ', 'tehran-umumi' ], 
       [35.798923, 51.398585, 'دکتر محسن علیزاده', 'تهران دست چپ', 'tehran-umumi' ], 
       [35.694651, 51.408751, 'دکتر محسن صفانژاد', 'تهران دست چپ', 'tehran-umumi' ], 
       [35.7146511, 51.4487517, 'دکتر محسن اکبری', 'تهران دست چپ', 'mashhad-umumi' ], 
       [35.6735523, 51.3003982, 'دکتر محسن رستگار', 'تهران دست چپ', 'mashhad-umumi' ], 
       [35.6825806, 51.4213503, 'دکتر محسن نژادفلاح', 'تهران دست چپ', 'mashhad-umumi' ], 
       [35.7321134, 51.4129257, 'دکتر محسن صابری', 'تهران دست چپ', 'mashhad-umumi' ], 
     ]; 

,他们会在地图上显示,此代码:

 for (var i=0; i < markers.length; i++){ 

      $("#map").addMarker({ 
       coords: [ markers[i][0], markers[i][1]], // GPS coords 
       title: markers[i][2], // Title 
       text: markers[i][3], // HTML content 
       id: markers[i][4] // Unique ID for your marker 
      }); 

     } 

现在一切正常,但如果我要删除一些使用removeMarker函数的特定标记,只会删除一个标记。

 //Remover Markers 
     $('input#submitSearch').on('click', function(){ 

      for (var i=0; i < markers.length; i++) { 

       $("#map").removeMarker("mashhad-umumi"); 


      } 
     }); 

,如果我想删除一些标记有mashhad-umumi作为过滤器,我应该怎么代码?有没有更好的方法做到这一点?

回答

0

你必须检查标记包含您要删除数据查找标题选项到您的标记,然后尝试删除标记

实例作为参考

$('input#submitSearch').on('click', function(){ 

      for (var i=0; i < markers.length; i++) { 
       if(markers[i].title == "mashhad-umumi"){ 
      $("#map").removeMarker(markers[i][4]); 
       }    
      } 
     }); 
+0

无法使用因为'removerMarker'函数只接受标记的'ID'来删除...,有什么更好的办法吗? – Sami

+0

所以你可以removeMarker(markers [i] .id)像东西 –

+0

如果我使用removeMarker(markers [i] [4]),它可以工作,但只有第一个具有相同id的元素将被删除,但是我想删除多个标记 – Sami