Example usage for com.google.gwt.maps.client.events.zoom ZoomChangeMapHandler ZoomChangeMapHandler

List of usage examples for com.google.gwt.maps.client.events.zoom ZoomChangeMapHandler ZoomChangeMapHandler

Introduction

In this page you can find the example usage for com.google.gwt.maps.client.events.zoom ZoomChangeMapHandler ZoomChangeMapHandler.

Prototype

ZoomChangeMapHandler

Source Link

Usage

From source file:gov.nist.spectrumbrowser.client.SpectrumBrowserShowDatasets.java

License:Open Source License

public void draw() {
    try {/*  w  w w .  j a va2s.c  om*/
        spectrumBrowser.showWaitImage();
        Window.setTitle("MSOD:Home");
        SpectrumBrowser.clearSensorInformation();
        sensorMarkers.clear();
        SensorGroupMarker.clear();
        verticalPanel.clear();
        navigationBar = new MenuBar();
        navigationBar.clearItems();

        verticalPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
        verticalPanel.add(navigationBar);

        HorizontalPanel mapAndSensorInfoPanel = new HorizontalPanel();
        mapAndSensorInfoPanel.setStyleName("mapAndSensorInfoPanel");

        HTML html = new HTML("<h2>" + END_LABEL + "</h2> ", true);

        verticalPanel.add(html);
        String help = "Click on a sensor marker to select it. "
                + "Then select start date and and duration of interest.";
        helpLabel = new Label();
        helpLabel.setText(help);
        verticalPanel.add(helpLabel);

        ScrollPanel scrollPanel = new ScrollPanel();
        scrollPanel.setHeight(SpectrumBrowser.MAP_WIDTH + "px");
        scrollPanel.setStyleName("sensorInformationScrollPanel");

        sensorInfoPanel = new VerticalPanel();
        sensorInfoPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
        scrollPanel.add(sensorInfoPanel);
        sensorInfoPanel.setStyleName("sensorInfoPanel");

        mapAndSensorInfoPanel.add(scrollPanel);

        selectionGrid = new Grid(1, 10);
        selectionGrid.setStyleName("selectionGrid");
        selectionGrid.setVisible(false);

        for (int i = 0; i < selectionGrid.getRowCount(); i++) {
            for (int j = 0; j < selectionGrid.getColumnCount(); j++) {
                selectionGrid.getCellFormatter().setHorizontalAlignment(i, j,
                        HasHorizontalAlignment.ALIGN_CENTER);
                selectionGrid.getCellFormatter().setVerticalAlignment(i, j, HasVerticalAlignment.ALIGN_MIDDLE);
            }
        }

        verticalPanel.add(selectionGrid);

        sensorInfoPanel.clear();
        //sensorInfoPanel.setTitle("Click on marker to select sensors.");
        Label selectedMarkersLabel = new Label();
        selectedMarkersLabel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
        selectedMarkersLabel.setText("Sensor Information Display");
        selectedMarkersLabel.getElement().getStyle().setCursor(Cursor.TEXT);
        selectedMarkersLabel.setStyleName("selectedMarkersLabel");
        sensorInfoPanel.add(selectedMarkersLabel);

        if (map == null) {
            MapOptions mapOptions = MapOptions.newInstance(true);
            mapOptions.setMaxZoom(15);
            mapOptions.setMinZoom(3);
            mapOptions.setStreetViewControl(false);
            map = new MapWidget(mapOptions);
            //map.setTitle("Click on a marker to display information about a sensor.");
            map.setSize(SpectrumBrowser.MAP_WIDTH + "px", SpectrumBrowser.MAP_HEIGHT + "px");
        } else if (map.getParent() != null) {
            map.removeFromParent();
        }
        mapAndSensorInfoPanel.add(map);
        verticalPanel.add(mapAndSensorInfoPanel);
        logger.finer("getLocationInfo");

        spectrumBrowser.getSpectrumBrowserService().getLocationInfo(SpectrumBrowser.getSessionToken(),
                new SpectrumBrowserCallback<String>() {
                    @Override
                    public void onFailure(Throwable caught) {
                        logger.log(Level.SEVERE, "Error in processing request", caught);
                        verticalPanel.clear();

                        if (spectrumBrowser.isUserLoggedIn()) {
                            Window.alert("The system is down for maintenance. Please try again later.\n"
                                    + caught.getMessage());
                            spectrumBrowser.logoff();
                        } else {
                            HTML error = new HTML(
                                    "<h1>The System is down for maintenance. Please try later.</h1>");
                            verticalPanel.add(error);
                            HTML errorMsg = new HTML("<h2>" + caught.getMessage() + "</h2>");
                            verticalPanel.add(errorMsg);
                        }
                    }

                    @Override
                    public void onSuccess(String jsonString) {

                        try {
                            logger.finer(jsonString);
                            JSONObject jsonObj = (JSONObject) JSONParser.parseLenient(jsonString);

                            String baseUrl = SpectrumBrowser.getBaseUrlAuthority();
                            addSensor(jsonObj, baseUrl);

                            logger.finer("Added returned sensors. Dealing with peers");
                            // Now deal with the peers.
                            final JSONObject peers = jsonObj.get("peers").isObject();
                            // By definition, peers do not need login but we need a session
                            // Key to talk to the peer so go get one.
                            for (String url : peers.keySet()) {
                                logger.finer("Showing sensors for Peer " + url);
                                final String peerUrl = url;
                                spectrumBrowser.getSpectrumBrowserService().isAuthenticationRequired(url,
                                        new SpectrumBrowserCallback<String>() {

                                            @Override
                                            public void onSuccess(String result) {
                                                JSONObject jobj = JSONParser.parseLenient(result).isObject();
                                                boolean authRequired = jobj.get("AuthenticationRequired")
                                                        .isBoolean().booleanValue();
                                                if (!authRequired) {
                                                    String sessionToken = jobj.get("SessionToken").isString()
                                                            .stringValue();
                                                    SpectrumBrowser.setSessionToken(peerUrl, sessionToken);
                                                    JSONObject peerObj = peers.get(peerUrl).isObject();
                                                    addSensor(peerObj, peerUrl);
                                                }
                                            }

                                            @Override
                                            public void onFailure(Throwable throwable) {
                                                logger.log(Level.SEVERE, "Could not contact peer at " + peerUrl,
                                                        throwable);
                                            }
                                        });
                            }
                            final Timer timer = new Timer() {
                                @Override
                                public void run() {
                                    if (getMap().isAttached()) {
                                        spectrumBrowser.hideWaitImage();
                                        showMarkers();
                                        cancel();
                                    }
                                }
                            };
                            timer.scheduleRepeating(500);
                            populateMenuItems();

                            map.addZoomChangeHandler(new ZoomChangeMapHandler() {

                                @Override
                                public void onEvent(ZoomChangeMapEvent event) {
                                    SensorGroupMarker.showMarkers();
                                }
                            });

                        } catch (Exception ex) {
                            logger.log(Level.SEVERE, "Error ", ex);
                            spectrumBrowser.displayError("Error parsing json response");

                        }

                    }
                }

        );

    } catch (Exception ex) {
        logger.log(Level.SEVERE, "Error in displaying data sets", ex);
    }
}

From source file:net.cbtltd.client.form.SearchForm.java

private MapField createMap() {
    mapField = new MapField(this, null, tab++);
    mapField.setFieldStyle(CSS.mapStyle());
    mapField.setEnabled(true);//from  w w w.  j  ava  2 s  .c o m
    mapField.setPositionVisible(false);
    mapField.setStreetviewVisible(false);
    mapField.setStreetviewClickable(false);
    mapField.setZoom(Math.max(3, AbstractRoot.getIntegerValue(Party.Value.ZoomLevel.name())));
    mapField.setMapTypeId(MapTypeId.HYBRID);
    mapField.setDefaultValue(LatLng.newInstance(AbstractRoot.getDoubleValue(Party.Value.Latitude.name()),
            AbstractRoot.getDoubleValue(Party.Value.Longitude.name())));
    mapField.setScrollWheelZoomEnabled(false);

    mapField.setZoom(AbstractRoot.getIntegerValue(Party.Value.ZoomLevel.name()));

    mapField.addZoomChangeHandler(new ZoomChangeMapHandler() {
        public void onEvent(ZoomChangeMapEvent event) {
            int zoom = mapField.getZoom().intValue();
            int value = Math.max(0, ZOOM_BASE - zoom);
            if (zoom > ZOOM_POSITIONS) {
                distanceField.setValue(value);
                //TODO:               availableTable.execute();
            } else {
                availableTable.clear(); //setValue(null);
                productPositions.execute();
            }
        }
    });
    return mapField;
}