2017-08-04 9 views
0

これらのGoogleマップマーカーをフィルタリング可能にする方法を試しています。配列を介してフィードされていないデータのこの奇妙なアプローチの理由は、マーカがWordpressの投稿クエリから作成されているためです。これが成功した唯一の方法です。これらのGoogleマップマーカーをフィルタリング可能にするにはどうすればよいですか?

私は基本的にあなたが通常使用したい方法と同様の方法で、これは選択したカテゴリに対してフィルタ処理するために取得しようとしている:for (i = 0; i < markers.length; i++) {

どのような援助は非常に高く評価されるだろう。

$('input.markers').each(function(){ 
     title  = $(this).data('title'); 
     description = $(this).data('description'); 
     lat   = $(this).data('lat'); 
     lng   = $(this).data('lng'); 
     url   = $(this).data('url'); 
     img   = $(this).data('featuredimage'); 
     comments = $(this).data('comments'); 

     //var to the box that will wrap the marker's content 
     var content = '<img src="' + img +'" class="img-responsive" />' + 
    '<div class="info_content">' + 
    '<h3>'+ title +'</h3>' + 
    '<p>'+ description +'</p>' + 
    '<p><small>'+ comments +'</small></p>' + 
    '<a class="btn btn-green" href="'+ url +'">READ MORE</a></div>'; 

     //create marker 
     var marker = new google.maps.Marker({ 
      position: new google.maps.LatLng(lat, lng), 
      map:map, 
      title: title, 
      icon: image, 
     }); 

     var position = new google.maps.LatLng(lat, lng); 
     var info = $('#marker-info'); 

    $('#marker-close').click(function() { 
     $('#marker-info').fadeOut(); 
    }); 

}); 

答えて

0

成功! - それを配列に変換することができます。

var markers1 = $("input.markers").map(function() { 

title  = $(this).data('title'); 
lat   = $(this).data('lat'); 
lng   = $(this).data('lng'); 
category = $(this).data('category'); 
description = $(this).data('description'); 
url   = $(this).data('url'); 
img   = $(this).data('featuredimage'); 
comments = $(this).data('comments'); 

return [[ title, lat, lng, category, '<img src="' + img +'" class="img- 
responsive" />' +'<div class="info_content">' +'<h3>'+ title +'</h3>' +'<p>'+ 
description +'</p>' +'<p><small>'+ comments +'</small></p>' +'<a class="btn 
btn-green" href="'+ url +'">READ MORE</a></div>' ]]; 

}).toArray(); 
関連する問題