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

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

Introduction

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

Prototype

public final native void setMapMaker(boolean mapMaker) ;

Source Link

Document

Sets Map Maker usage.

Usage

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

/**
 * Instantiates a new map field./*  www. j a va 2s.  c  om*/
 *
 * @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);
}