Google maps 谷歌地图中国家的自定义颜色:GWT?
我正在尝试添加一个自定义的融合表样式到我的谷歌地图。与此类似: 我想根据指定给它的特定值给一个国家上色,比如0=绿色,50=黄色,100=红色 我在这里设置了一个融合表: 我可以在这里实现期望的结果,但在我的代码中无法实现 我正在使用谷歌地图API V3和GWT 这就是我到目前为止所做的: 我不知道为什么它全是红色的 请帮忙。 谢谢 编辑1 我做了代码更改,能够将整个地图颜色更改为灰色。Google maps 谷歌地图中国家的自定义颜色:GWT?,google-maps,gwt,google-maps-api-3,google-fusion-tables,Google Maps,Gwt,Google Maps Api 3,Google Fusion Tables,我正在尝试添加一个自定义的融合表样式到我的谷歌地图。与此类似: 我想根据指定给它的特定值给一个国家上色,比如0=绿色,50=黄色,100=红色 我在这里设置了一个融合表: 我可以在这里实现期望的结果,但在我的代码中无法实现 我正在使用谷歌地图API V3和GWT 这就是我到目前为止所做的: 我不知道为什么它全是红色的 请帮忙。 谢谢 编辑1 我做了代码更改,能够将整个地图颜色更改为灰色。 但仍然不确定如何获取风险列的值并根据国家/地区颜色进行更新。我不确定如何通过GWT进行操作,但您必须将选项
但仍然不确定如何获取风险列的值并根据国家/地区颜色进行更新。我不确定如何通过GWT进行操作,但您必须将选项的styleId设置为6这就是将在特定地图视图中使用的styleId。我可以在Java代码中直接使用Fusion Layer样式页面上提供的javascript来实现相同的结果吗?
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);
}