【问题标题】:Hiding/showing a kml layer on customized google maps depending of the view根据视图在自定义谷歌地图上隐藏/显示 kml 图层
【发布时间】:2014-03-31 20:57:59
【问题描述】:

有没有办法只在 Google 地球视图图层上显示一个 kml 图层?我正在使用 Google API V3

这是我所拥有的链接:http://www.virtualbc.ca/knoxmountain/index2.php

在 Google 地球视图中,如果我选择卫星视图,我想删除或隐藏 kml 图层。实际上,我在除地球视图之外的所有 Google 视图上使用了一组图块。

【问题讨论】:

  • 你是指谷歌地图还是谷歌地球?

标签: javascript google-maps-api-3 hide kml layer


【解决方案1】:

您可以在 Google.Map 对象上使用 maptypeid_changed 事件。当它发生变化时,您可以使用 setMap() 将 kml 图层设置为显示或隐藏。 示例:

function initialize() {

  var map = new google.maps.Map(document.getElementById('map-div'), {
         center: new google.maps.LatLng(40.3,-111.65),
         zoom: 13   
  });

  var kmlLayer = new google.maps.KmlLayer('http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml');
  kmlLayer.setMap(map);
  google.maps.event.addListener(map, 'maptypeid_changed', function() {
        if(map.mapTypeId == 'hybrid') {
            kmlLayer.setMap(null);  
        } 
  });

}

google.maps.event.addDomListener(window, 'load', initialize);

只需确保当您将地图类型重新设置为其他类型时,您会将 kml 图层重新设置为地图。当你想隐藏某些东西时,你只需调用 setMap(null)。

【讨论】:

    猜你喜欢
    • 2019-08-06
    • 2019-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多