2011-08-03 7 views
0

あなたが私のために光を放つことができるかどうか疑問に思ってください!Googleマップのフィルタリング、jquery、KML

私はhttp://jquery-ui-map.googlecode.com/svn/trunk/demos/google-maps-jquery-filtering.htmlを使用しています。マーカーが作成され、スクリプトによってタグ付けされると、ローカルでフィルタが動作しています。

しかし、スクリプトではなくkmlファイルからマップポインタを取り込んでいます。

だから、そのために、私は

var road = new google.maps.KmlLayer( 
         'http://www.mylivesite.ie/temp/20110627.kml', 
         {preserveViewport:true} 
         ); 

        road.setMap(map); 

を使用しているポイントが細かいロードが、私はそれにポイントをフィルタリングする方法が必要です。

元の例では

   var tag = "jQuery"; 
        for (i = 0; i < 40; i++) { 
         if (i > 10) { tag = "Google maps"; } 
         if (i > 20) { tag = "Plugin"; } 
         if (i > 30) { tag = "SEO"; } 
         $('#map_canvas').gmap('addMarker', { 'tag':tag, 'title':tag, 'bound':false, 'position': new google.maps.LatLng(southWest.lat() + latSpan * Math.random(), southWest.lng() + lngSpan * Math.random()) }); 
        } 


        $("#tags").change(function() { 
         var bounds = new google.maps.LatLngBounds(); 
         var tag = $(this).val(); 
         if (tag == 'all') { 
          $('#map_canvas').gmap('findMarker', 'tag', tag, function(found, marker) { 
           marker.setVisible(true); 
           bounds.extend(marker.position); 
           marker.map.fitBounds(bounds); 
          }); 
         } else { 
          $('#map_canvas').gmap('findMarker', 'tag', tag, function(found, marker) { 
           if (found) { 
            marker.setVisible(true); 
            bounds.extend(marker.position); 
            marker.map.fitBounds(bounds); 
           } else { 
            marker.setVisible(false); 
           } 
          }); 
         } 
         $('#map_canvas').gmap('option', 'center', bounds.getCenter()); 
        }); 

..フィルタリングするためにタグを使用しています。しかし、私がkmlにこれらのタグを追加する方法を見つけ出すことができなかったので、私は私がそこに既にタグのthatsを使用しようと決めましたフィルタリングする。

代わりに、styleURL参照を使用してアイテムをターゲットに設定する方法を知っていますか?タグの代わりにIDをターゲットに設定しようとしましたが、うまくいかないようです。例えば

var tag = $(this).id(); 

ご協力いただきありがとうございます。 styleURLを参照するか、KMLにタグを配置するかのどちらかで、コード内でemを置くのと同じように動作します。私の知る限り、それはあなたが持っていると思います動作させるために、(KMLLayerを使用して)現在のGoogleマップv3.6のAPIでこれを実行する方法はありません知っているように、事前

leapin

答えて

0

感謝あなた自身でKMLを解析し、それをループしてタグ付きマーカーを追加します。

関連する問題