Google地图中的国家/地区自定义着色:GWT?

时间:2015-04-11 12:05:08

标签: google-maps gwt google-maps-api-3 google-fusion-tables

我正在尝试为我的Google地图添加自定义融合表样式。与此类似:https://developers.google.com/maps/documentation/javascript/examples/layer-fusiontables-styling

我想根据分配给它的特定值为国家着色让我们说0 =绿色,50 =黄色,100 =红色。

我在这里设置了一个Fusion表:https://www.google.com/fusiontables/DataSource?docid=1tJkzVXTv-B2-rFeQVO9bX_vICCvJ9Xq1LU6xog5f
我能够在这里获得理想的结果,但不能在我的代码中实现。

我正在使用Google Maps API V3和GWT。

    private void setupFusionTablesLayer(final MapWidget mapWidget) {

    final String select = "geometry";
    final String from = "1tJkzVXTv-B2-rFeQVO9bX_vICCvJ9Xq1LU6xog5f";
    final String where = "risk >= 0";

    final FusionTablesStyle fusionTablesStyle = FusionTablesStyle
            .newInstance();
    final FusionTablesPolygonOptions polygonOptions = FusionTablesPolygonOptions
            .newInstance();
    polygonOptions.setFillColor("#505050"); // grey
    polygonOptions.setFillOpacity(0.3);
    fusionTablesStyle.setPolygonOptions(polygonOptions);

    final FusionTablesQuery query = FusionTablesQuery.newInstance();
    query.setSelect(select);
    query.setFrom(from);
    query.setWhere(where);

    final FusionTablesLayerOptions options = FusionTablesLayerOptions
            .newInstance();
    options.setQuery(query);

    final JsArray arr = JavaScriptObject.createArray().cast();
    arr.push(fusionTablesStyle);
    options.setStyles(arr);

    final FusionTablesLayer layer = FusionTablesLayer.newInstance(options);
    layer.addClickHandler(new FusionTablesMouseMapHandler() {
        @Override
        public void onEvent(final FusionTablesMouseMapEvent event) {

            event.getInfoWindowHtml();
            final LatLng latlng = event.getLatLng();

            event.getPixelOffset();

            event.getRow();
            final String json = event.getRowAsJson();
            GWT.log("click on " + latlng.getToString() + "  json=" + json);
        }
    });
    layer.setMap(mapWidget);
}

这是我到目前为止所做的: enter image description here

我不知道为什么它全是红色!!

请帮助。
感谢

修改#1 我做了代码更改,并能够将整个地图颜色更改为灰色。 但仍然不确定如何获得风险列的价值并按国家/地区颜色更新。

0 个答案:

没有答案