2015-10-05 129 views
0

我一直在尋找很多關於如何使用FusionTablesLayer在谷歌地圖上顯示區域的例子。我已經組合了一張融合表併爲它創建了一個視圖。這可以在這裏找到(View of Data)。FusionTablesLayer where子句不過濾數據

但是,下面的代碼片段似乎沒有過濾基於where子句的數據。

var provinces = new google.maps.FusionTablesLayer({ 
    map: $scope.map, 
    query: { 
    select: "*", 
    from: "1NpDIypHO58j9k1BAOr1tniCgoOPUkdbKBsXgTVCS", 
    where: "'PROVINCE' = '02'", 
    limit: 100 
    }, 
    suppressInfoWindows: true 
}); 

這實際上仍然提取並顯示所有四個省份,似乎無視where子句。

回答

1

不要使用「*」作爲選擇,應該是包含地理信息的列(在您的案例中爲geometry)。

proof of concept fiddle

代碼片段:

function initialize() { 
 
    var map = new google.maps.Map(mapDiv, { 
 
    center: new google.maps.LatLng(52.669177995538305, -7.1375505556775405), 
 
    zoom: 7, 
 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
 
    }); 
 

 
    layer = new google.maps.FusionTablesLayer({ 
 
    map: map, 
 
    heatmap: { 
 
     enabled: false 
 
    }, 
 
    query: { 
 
     select: "geometry", 
 
     from: "1NpDIypHO58j9k1BAOr1tniCgoOPUkdbKBsXgTVCS", 
 
     where: "PROVINCE = '02'" 
 
    }, 
 
    options: { 
 
     styleId: 2, 
 
     templateId: 2 
 
    } 
 
    }); 
 

 
} 
 
google.maps.event.addDomListener(window, "load", initialize);
html, 
 
body, 
 
#mapDiv { 
 
    height: 100%; 
 
    width: 100%; 
 
    margin: 0px; 
 
    padding: 0px 
 
}
<script src="https://maps.googleapis.com/maps/api/js"></script> 
 
<div id="mapDiv"></div>

+0

絕對正確。這就是我所錯過的。非常感謝。 – MadaManu