【问题标题】:Google maps filtering, jquery and KML谷歌地图过滤、jquery 和 KML
【发布时间】:2011-08-03 10:45:09
【问题描述】:

想知道你是否可以为我解惑!

我正在使用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 中放置标签的位置,它们的行为与通过代码放入 em 相同。

提前致谢

飞跃

【问题讨论】:

    标签: jquery maps kml


    【解决方案1】:

    据我所知,在当前的 Google Maps v3.6 API(使用 KMLLayer)中无法做到这一点,要使其正常工作,您必须自己解析 KML,然后循环遍历它并添加带有标签的标记。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多