1

GoogleFusionのテーブル/マップを公開しました。

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>

initでロードされるレイヤーの場合、情報ウィンドウは正常に機能しますが、ラジオボタンがクリックされたときにロードされるレイヤーは正常に機能しません。なんで?

4

1 に答える 1

2

の引数として適切な FusionTablesLayerOptions オブジェクトを使用してくださいgoogle.maps.FusionTablesLayer

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