Google GWT MapWidget addOverlay Polygon显示边框但不填充

时间:2011-08-26 17:22:18

标签: java gwt maps overlay

    LatLng[] polyLatLng = new LatLng[5];
    polyLatLng[0] = LatLng.newInstance(90, 180);
    polyLatLng[1] = LatLng.newInstance(90, 180);
    polyLatLng[2] = LatLng.newInstance(-90, 180);
    polyLatLng[3] = LatLng.newInstance(-90, -180);
    polyLatLng[4] = polyLatLng[0];

    Polygon disabledOverlay = new Polygon(polyLatLng, "#F33F00", 1, 1.0, "#F33F00", 0.5);
    mapWidget.addOverlay(disabledOverlay);

在上面的代码中,我制作了一个com.google.gwt.maps.client.overlay.Polygon,并将其作为叠加层添加到com.google.gwt.maps.client.MapWidget。

出现多边形边框,但不显示填充。我做错了吗?

1 个答案:

答案 0 :(得分:1)

代码是正确的,但你的坐标很奇怪。你想要包围整个地球吗?当我使用你的坐标时我没有看到任何东西,但是当我使用较小的多边形时,边框和填充看起来很好。

我的代码:

private void buildUI() {
    LatLng[] poly = new LatLng[4];
    poly[0] = LatLng.newInstance(50, -60);
    poly[1] = LatLng.newInstance(20, -60);
    poly[2] = LatLng.newInstance(20, -80);
    poly[3] = LatLng.newInstance(50, -80);

    Polygon polygon = new Polygon(poly, "#000000", 1, 1.0, "#000000", 0.5);
    LatLng apl = LatLng.newInstance(39.1656,-76.8986);

    MapWidget map = new MapWidget(apl, 11);
    map.setSize("100%", "100%");
    map.addControl(new LargeMapControl());
    map.addOverlay(new Marker(apl));
    map.addOverlay(polygon);

    mapPanel.add(map);

}