3

ユーザーが「ストリートビュー」を表示できる「人物」アイコンがあります。この機能をマップに表示したくありません。削除または無効にする方法はありますか? そして、私はJavaScriptを使用していません.GWTを使用しています.

Google-Maps 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

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でstreetViewControlfalseに設定すると、これを行うことができます。したがって、GWT ラッパーも同様のオプションを提供していると思います。

于 2013-09-20T12:14:58.793 に答える