2016-12-05 10 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 
      }); 

     } 

今ではすべてがOKであることで、しかし、私は削除する場合一部の特定のマーカーはremoveMarker機能を使用して、1つのマーカーのみが削除されます。

 //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(マーカー[i] [4])を使用すると、マーカ(マーカー[i] .id)を –

+0

のように削除できますが、同じIDを持つ最初の要素だけが削除されますが、 – Sami

関連する問題