Example usage for com.google.gwt.maps.client MapOptions setNoClear

List of usage examples for com.google.gwt.maps.client MapOptions setNoClear

Introduction

In this page you can find the example usage for com.google.gwt.maps.client MapOptions setNoClear.

Prototype

public final native void setNoClear(boolean noClear) ;

Source Link

Document

set If true, do not clear the contents of the Map div.

Usage

From source file:net.cbtltd.client.field.MapField.java

/**
 * Instantiates a new map field./*from   w ww . ja v  a2  s .  c  o  m*/
 *
 * @param form is the form or other HasComponents element that contains the field.
 * @param permission that controls the visibility of the field.
 * @param tab index of the field.
 */
public MapField(HasComponents form, short[] permission, int tab) {
    initialize(panel, form, permission, CSS.cbtMapField());

    super.setDefaultValue(LatLng.newInstance(0.0, 0.0));

    addressLabel.addStyleName(CSS.cbtMapFieldLabel());
    addressBox.addStyleName(CSS.cbtLocationFieldField());
    addressBox.addBlurHandler(new BlurHandler() {
        @Override
        public void onBlur(BlurEvent event) {
            setName(addressBox.getText());
        }
    });

    addressBox.addKeyDownHandler(new KeyDownHandler() {
        @Override
        public void onKeyDown(KeyDownEvent event) {
            if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
                setName(addressBox.getText());
            }
        }
    });

    latitudeLabel.addStyleName(CSS.cbtMapFieldLabel());
    latitudeBox.addStyleName(CSS.cbtMapFieldLatLng());
    latitudeBox.addChangeHandler(new ChangeHandler() {

        @Override
        public void onChange(ChangeEvent event) {
            Double latitude = LF.parse(latitudeBox.getText());
            if (latitude < -90.0 || latitude > 90.0) {
                addMessage(Level.ERROR, CONSTANTS.errPositionLatitude(), latitudeBox);
            } else {
                setValue(LatLng.newInstance(latitude, marker.getPosition().getLongitude()));
            }
        }
    });

    longitudeLabel.addStyleName(CSS.cbtMapFieldLabel());
    longitudeBox.addStyleName(CSS.cbtMapFieldLatLng());
    longitudeBox.addChangeHandler(new ChangeHandler() {

        @Override
        public void onChange(ChangeEvent event) {
            Double longitude = LF.parse(longitudeBox.getText());
            if (longitude < -180.0 || longitude > 180.0) {
                addMessage(Level.ERROR, CONSTANTS.errPositionLongitude(), longitudeBox);
            } else {
                setValue(LatLng.newInstance(marker.getPosition().getLatitude(), longitude));
            }
        }
    });

    position.addStyleName(CSS.cbtMapFieldTitle());
    position.add(addressLabel);
    position.add(addressBox);
    position.add(latitudeLabel);
    position.add(latitudeBox);
    position.add(longitudeLabel);
    position.add(longitudeBox);
    position.add(lock);

    panel.add(position);

    MapOptions mapOptions = MapOptions.newInstance();
    mapOptions.setDraggableCursor("crosshair");
    mapOptions.setDraggingCursor("text");
    mapOptions.setCenter(LatLng.newInstance(0.0, 0.0));
    mapOptions.setDraggable(true);
    mapOptions.setDisableDoubleClickZoom(true);
    //      mapOptions.setHeading(heading);
    mapOptions.setKeyboardShortcuts(false);
    mapOptions.setMapMaker(true);
    mapOptions.setMapTypeControl(true);
    mapOptions.setMapTypeId(mapTypeId);
    mapOptions.setNoClear(false);
    mapOptions.setOverviewMapControl(false);
    //      mapOptions.setMapTypeControlOptions(MapTypeControlOptions.)
    mapOptions.setPanControl(true);
    //      mapOptions.setPanControlOptions(panControlOptions);
    mapOptions.setRotateControl(false);
    //      mapOptions.setRotateControlOptions(rotateControlOptions)
    mapOptions.setScaleControl(true);
    //      mapOptions.setScaleControlOptions(scaleControlOptions)
    mapOptions.setScrollWheel(scrollWheel);
    //      StreetViewPanoramaImpl streetView = StreetViewPanoramaImpl.newInstance(field.getElement(), options);
    //      mapOptions.setStreetView(streetView);
    mapOptions.setStreetViewControl(streetView);
    //      mapOptions.setStreetViewControlOptions(streetViewControlOptions)
    //      mapOptions.setStyles(styles)
    mapOptions.setZoom(15);
    mapOptions.setZoomControl(true);

    map = MapWidget.newInstance(MapImpl.newInstance(field.getElement(), mapOptions));

    map.addClickHandler(new ClickMapHandler() {
        public void onEvent(ClickMapEvent event) {
            if (isEnabled()) {
                setValue(event.getMouseEvent().getLatLng());
                fireChange(MapField.this);
            }
        }
    });
    panel.add(field);

    emptyValue.addStyleName(CSS.cbtMapFieldEmpty());
    emptyValue.setVisible(false);
    panel.add(emptyValue);

    InfoWindowOptions infowindowOpts = InfoWindowOptions.newInstance();
    infowindowOpts.setMaxWidth(100);
    infowindowOpts.setPosition(defaultValue);
    infoWindow = InfoWindow.newInstance(infowindowOpts);
}