Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps api 3 抑制具有多个层的融合表信息窗口_Google Maps Api 3_Google Fusion Tables - Fatal编程技术网

Google maps api 3 抑制具有多个层的融合表信息窗口

Google maps api 3 抑制具有多个层的融合表信息窗口,google-maps-api-3,google-fusion-tables,Google Maps Api 3,Google Fusion Tables,我有一个带有两个fusion tables图层的地图,我正在使用suppressInfoWindows,这样当用户单击另一个图层上的标记时,一个图层上的infowindow不会保持打开状态。使用以下代码可以很好地工作: <script type="text/javascript"> var map; var infowindow; var layer; var tableid = MY FUSION TABLE ID; var layer2; var tableid2 = MY

我有一个带有两个fusion tables图层的地图,我正在使用
suppressInfoWindows
,这样当用户单击另一个图层上的标记时,一个图层上的infowindow不会保持打开状态。使用以下代码可以很好地工作:

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

var layer;
var tableid = MY FUSION TABLE ID;

var layer2;
var tableid2 = MY FUSION TABLE ID;

function initialize() {

  map = new google.maps.Map(document.getElementById('map_canvas'), {
    center: new google.maps.LatLng(10, 30),
    zoom: 2,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  });

 infoWindow = new google.maps.InfoWindow();

 google.maps.event.addListener(map, "click", function() { infoWindow.close(); });

 layer = new google.maps.FusionTablesLayer(tableid, {suppressInfoWindows:true});
 layer.setQuery("SELECT 'Country Geometry' FROM " + tableid);
 layer.setMap(map);
 google.maps.event.addListener(layer, "click", openIW);

 layer2 = new google.maps.FusionTablesLayer(tableid2, {suppressInfoWindows:true});
 layer2.setQuery("SELECT 'Site Location' FROM " + tableid2);
 layer2.setMap(map);
 google.maps.event.addListener(layer2, "click", openIW);

}

function openIW(FTevent) {
  // infoWindow.setContent(FTevent.infoWindowHtml);
  // infoWindow.setPosition(FTevent.latLng);
  infoWindow.setOptions(
    { 
     content: FTevent.infoWindowHtml,
     position: FTevent.latLng,
     pixelOffset: FTevent.pixelOffset
    });

  infoWindow.open(map);
}

</script>

请看我在回答你的问题时所举的例子

实施:

  • 抑制两个层上的信息窗口
  • 编写代码,在单击任一层时打开共享信息窗口

  • 完美的非常感谢,这节省了我几个小时。
    e.infoWindowHtml =  "<div id='SiteInfo' class='googft-info-window' style='font-family: sans-serif; width: 500px; height: 300px; overflow: auto;'>\
                <b>" + e.row['Site Name'].value + "</b><br />\
                </div></div>";