1

我已经发布了 Google Fusion 表格/地图。

https://www.google.com/fusiontables/DataSource?docid=1bQud-ZGrJK9yBwfdasIcbU1rwJ5W9ZE53RBAeLk

我的问题是,在查看嵌入了地图的 html 内的地图时,不会出现信息窗口。如您所见,该表对所有用户完全公开。在我注意到这个问题之前,我将表格共享为“每个人都有链接”,并认为这是问题所在,但没有帮助将其更改为公开。

我的带有嵌入地图的 html:

<html>
<head>
<style type="text/css">
#map_canvas {
    height: 700px;
    width: 380px;
    background: #000000;
    float:left;
 }
</style>

<script type="text/javascript"
    src="http://maps.google.com/maps/api/js?sensor=true">
</script>

<script type="text/javascript">
  var layer;
  var map;
  var html;

  function initialize() {

    var latlng = new google.maps.LatLng(62.835089,17.556641);
    var myOptions = {
      zoom: 5,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    // Add län
    var lanLayer = new google.maps.FusionTablesLayer(667529);
    lanLayer.setMap(map);
  }

  function clearOverlays() {
    if (layer != null) {
        layer.setMap(null);
        layer = null;
    }
  }

  function setMapLayer(fusionTableId) {
    if (layer != null) {
        layer.setMap(null);
        layer = null;
    }

    layer = new google.maps.FusionTablesLayer(fusionTableId);
    layer.setMap(map);
  }

</script>
</head>
<body onload="initialize()" class="map">

  <div id="map_canvas"></div>

  <div class="LayerManager">
    <form>
        <input type="radio" onclick="setMapLayer(3357208)">Antal skuldsatta<br />
        <input type="radio" onclick="clearOverlays()" checked="true" >Bara länsgränser<br />
    </form>
  </div>

</body>
</html>

对于在初始化时加载的层,信息窗口可以正常运行,但在单选按钮被单击时加载的层则不行。为什么?

4

1 回答 1

2

使用适当的FusionTablesLayerOptions -object 作为参数google.maps.FusionTablesLayer

layer = new google.maps.FusionTablesLayer({
      query: {
        select: 'Geocodable address',
        from: fusionTableId
      }
    });
于 2012-04-14T00:03:23.067 回答