0
我試圖在基於用戶通過複選框選擇的谷歌地圖上顯示多個KML圖層(全部存儲在相同的Fusion表格中)。地圖和複選框已經出現,但KML層沒有(通常我會在地圖窗口中看到平鋪的「數據可能仍在加載」響應)。我已經根據谷歌融合表示例(IN:pizza shops)編碼。從複選框選擇顯示KML圖層 - 在Google地圖中繪製圖層的問題
我很新的HTML & java,所以即使我一直無法找到我的腳本中的任何錯誤,或從其他'幫助'頁面的任何明顯差異,如this one並不意味着沒有某處出錯。
我已經寫了一堆,這些對每個圖層類型:
google.maps.event.addDomListener(document.getElementBId('trail'),
'click', function() {
filterMap(layer, tableId, map);
});
然後這個嘗試讓地圖過濾:
function filterMap(layer, tableId, map) {
var where = generateWhere();
if (where) {
if (!layer.getMap()) {
layer.setMap(map);
}
layer.setOptions({
query: {
select: 'geometry',
from: tableId,
where: where
}
});
} else {
layer.setMap(null);
}
}
function generateWhere() {
var filter = [];
var stores = document.getElementsByName('store');
for (var i = 0, store; store = stores[i]; i++) {
if (store.checked) {
var storeName = store.value.replace(/'/g, '\\\'');
filter.push("'" + storeName + "'");
}
}
var where = '';
if (filter.length) {
where = "'descripion' IN (" + filter.join(',') + ')';
}
return where;
}
google.maps.event.addDomListener(window, 'load', initialize);
,然後將這些傢伙在DIV體:
<input type="checkbox" checked="checked" name="store"
id="trail" value="trail">
<label>trail</label>
<input type="checkbox" checked="checked" name="store"
id="Historic" value="Historic">
<label>Historic</label>
<input type="checkbox" checked="checked" name="store"
id="Energy" value="Energy">
<label>Energy</label>
<input type="checkbox" checked="checked" name="store"
id="Hunting/Fishing" value="Hunting/Fishing">
<label>Hunting/Fishing</label>
我的Fusion表格是:https://www.google.com/fusiontables/DataSource?docid=1J8YjRYnWprhLdL0YMP6lxxb_encjkowSlqi1G3Y#rows:id=1