2011-08-03 101 views
0

想知道如果你能爲我散光!谷歌地圖過濾,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,所以我決定嘗試在那裏已經使用的標籤多數民衆贊成過濾。

任何人都知道如何使用styleURL引用來定位項目嗎?我試圖瞄準一個ID而不是標籤,但似乎沒有工作。例如

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

請感謝您的任何幫助!無論是從styleURL引用,還是將標籤置於KML中,以便它們像通過代碼插入代碼一樣行事。

在此先感謝

leapin

回答

0

據我所知是沒有辦法目前谷歌地圖V3.6 API中做到這一點(使用KMLLayer),使其工作你必須自己解析KML,然後遍歷它並添加帶有標記的標記。