3

有一个“人”图标,允许用户查看“街景”。我不想在我的地图上使用此功能,有没有办法删除或禁用它?而且我没有使用 JavaScript,而是使用 GWT。

谷歌地图 v3 正在使用。

private void initMap() {
        mapVp.setSize(String.valueOf(BodyPanel.bodyWidth - 505),
                String.valueOf(BodyPanel.bodyHeight + 5));
        LatLng myLatLng = LatLng.create(24.440099, 46.843498);
        final MapOptions myOptions = MapOptions.create();
        myOptions.setZoom(5);
        myOptions.setCenter(myLatLng);
        setStreetViewControl(myOptions.getJso(), false); //Added now
        myOptions.setMapTypeId(MapTypeId.ROADMAP);
        myOptions.setMapTypeControl(true);
        Timer load = new Timer() {

            @Override
            public void run() {
                map = GoogleMap.create(mapVp.getElement(), myOptions);
                hPanel.add(LoginDashboardModule
                        .mapLegends(map, "Live Tracking"));
            }
        };
        load.schedule(1000);        
    }

这是我的代码 添加此行 setStreetViewControl(myOptions.getJso(), false); 后出现错误

4

3 回答 3

4

我只是使用下面的行并得到了输出。

myOptions.setStreetViewControl(false);

于 2013-09-25T10:18:54.607 回答
2

你可以用 JSNI 做到这一点。

public static MapWidget createMapWidget(double lat, double lng,
        final String width, final String height, int zoomLevel) {
    // Set the options of the map widget.
    MapOptions options = new MapOptions();
    options.setZoom(zoomLevel);
    options.setMapTypeId(new MapTypeId().getRoadmap());
    setStreetViewControl(options.getJso(), false);
    options.setCenter(new LatLng(lat, lng));

    /* The map widget */
    final MapWidget mapWidget = new MapWidget(options);
    mapWidget.setWidth(width);
    mapWidget.setHeight(height);
    return mapWidget;
}

public static native void setStreetViewControl(JavaScriptObject obj,
        boolean control) /*-{
    if (obj)
        obj.streetViewControl = control;
}-*/;
于 2013-09-20T13:18:38.917 回答
1

您可以在JavaScript API中通过将streetViewControl设置为false来执行此操作。所以我假设 GWT 包装器确实提供了类似的选项。

于 2013-09-20T12:14:58.793 回答