【问题标题】:Multi Kml Layer on Google maps谷歌地图上的多公里层
【发布时间】:2012-05-16 14:17:17
【问题描述】:

我开发了一个简单的谷歌地图网页。我需要任何有谷歌地图经验的人的帮助。在我的网页的右侧面板中,我添加了一些复选框,我想将不同的 kml 与这些复选框链接起来。当我检查所有图层时,所有 kml 都显示在谷歌地图中,​​当我取消选中任何图层复选框时,与该复选框相关的 kml 将消失。请指导我如何做到这一点。 请从这个链接检查页面 http://toptrippk.com/webgis/kml%20layers.html

【问题讨论】:

    标签: maps kml layer


    【解决方案1】:

    我建议您使用以下结构。使用这种方法,您不必为每一层编写单独的函数,而只需为这一层编写。请注意,此处“输入”标签的“id”用作 KML 文件名。你可能想看到这个question。如果向前看,那么geoxml3 可能是您的选择。

    var G = google.maps;
    function toggle() {
    if (!this.kml)
    {this.kml = new G.KmlLayer('http://toptrippk.com/webgis/uploadfiles/kml/' + this.id + '.kml', {preserveViewport:true}); this.on = false};
    
    if (this.on)
    {this.kml.setMap(null); this.on = false} else {this.kml.setMap(map); this.on = true};
    };
    
    function initialize() {
    var layers = document.getElementsByTagName('input');
    var options = {};
    map = new G.Map(document.getElementById('map_canvas'), options);
    for (var i=0; i<layers.length; i++) {G.event.addDomListener(layers[i], 'click', toggle)};};
    G.event.addDomListener(window, 'load', initialize);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-25
      • 2019-03-26
      • 1970-01-01
      • 1970-01-01
      • 2018-09-04
      • 2018-12-17
      • 2014-03-01
      • 2010-09-15
      相关资源
      最近更新 更多