多个FusionTables查询不起作用

Multiple FusionTables Queries Not Working

本文关键字:不起作用 查询 FusionTables 多个      更新时间:2023-12-14

我使用的是谷歌地图API。我想给一些国家指定颜色。

要做到这一点,我必须得到每个国家的边界,以便能够绘制多边形。所以,我使用FusionTables。对于每个国家,我都会进行FusionTables查询以获取图层,然后设置地图。这就是我所做的。

var countryArray = new Array();
var nodeArray = new Array();
var companyArray = new Array();
var locationsArray = new Array();
function plotMarker() {
var rootMarker = locationsArray[companyArray.indexOf(rootCompany)];
var latlng = new google.maps.LatLng(0, 0);
var myStyle = [
{
    featureType: "all",
    elementType: "labels",
    stylers: [
    { 
        visibility: "off" }
        ]
    }
    ];
    map = new google.maps.Map(document.getElementById("map_canvas"), {
        mapTypeControlOptions: {
            mapTypeIds: ['mystyle', google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.TERRAIN]
        },
        center: latlng,
        zoom: 2,
        mapTypeId: 'mystyle'
    });
    map.mapTypes.set('mystyle', new google.maps.StyledMapType(myStyle, { name: 'My Style' }));

    for (var i = 0; i < locationsArray.length; i++) {
        if (locationsArray[i] != undefined) {
            var latitude = locationsArray[i].lat() + verDiff;
            var longitude = locationsArray[i].lng() + horDiff; 
            var newLatlng = new google.maps.LatLng(latitude, longitude);
            var ftoptions = {
                query: {
                  from: '419167',
                  select: 'kml_4326',
                  where: "sovereignt = '"+countryArray[i]+"'"
              },
              suppressInfoWindows:true,
              styles: [
              { 
                polygonOptions: {
                    fillColor:'#0040FF',
                    fillOpacity:0.7
                }
            }
            ]
        };
        var layer = new google.maps.FusionTablesLayer(ftoptions);
        layer.setMap(map);
    }
}

}

但是,为什么这种风格只适用于第一个国家?我想知道是否不是所有国家/地区都能成功执行查询,或者只是样式有问题?任何帮助都将不胜感激。

一个贴图只能有一个样式的FusionTablesLayer,其他层的样式将被忽略。

创建一个FusionTablesLayer并通过IN()条件选择多个主权国家