Example usage for com.google.gwt.maps.client.overlay Polyline getBounds

List of usage examples for com.google.gwt.maps.client.overlay Polyline getBounds

Introduction

In this page you can find the example usage for com.google.gwt.maps.client.overlay Polyline getBounds.

Prototype

public LatLngBounds getBounds() 

Source Link

Document

Returns the bounds for this polyline.

Usage

From source file:com.google.gwt.maps.sample.hellomaps.client.DrawingOverlayDemo.java

License:Apache License

private void createPolyline() {
    PolyStyleOptions style = PolyStyleOptions.newInstance(color, weight, opacity);

    final Polyline poly = new Polyline(new LatLng[0]);
    lastPolyline = poly;/*from  ww w  . ja  va 2 s.  co  m*/
    map.addOverlay(poly);
    poly.setDrawingEnabled();
    poly.setStrokeStyle(style);
    message2.setText("");
    poly.addPolylineLineUpdatedHandler(new PolylineLineUpdatedHandler() {

        public void onUpdate(PolylineLineUpdatedEvent event) {
            message2.setText(message2.getText() + " : Line Updated");
        }
    });

    poly.addPolylineCancelLineHandler(new PolylineCancelLineHandler() {

        public void onCancel(PolylineCancelLineEvent event) {
            message2.setText(message2.getText() + " : Line Canceled");
        }
    });

    poly.addPolylineEndLineHandler(new PolylineEndLineHandler() {

        public void onEnd(PolylineEndLineEvent event) {
            message2.setText(message2.getText() + " : Line End at " + event.getLatLng() + ".  Bounds="
                    + poly.getBounds().getNorthEast() + "," + poly.getBounds().getSouthWest() + " length="
                    + poly.getLength() + "m");
        }
    });
}

From source file:es.upm.fi.dia.oeg.map4rdf.client.widget.mapcontrol.GeoResourcesMapControl.java

License:Open Source License

public void drawGeometry(Geometry geometry, final ClickHandler clickHandler) {
    if (geometry == null) {
        return;/*  w w  w  .j  av a2 s.c om*/
    }
    switch (geometry.getType()) {
    case POINT:
        final Marker marker = new Marker(GoogleMapsAdapters.getLatLng((Point) geometry));
        marker.addMarkerClickHandler(new MarkerClickHandler() {
            @Override
            public void onClick(MarkerClickEvent event) {
                latLong = marker.getLatLng();
                clickHandler.onClick(null); // TODO: null???
            }
        });
        addOverlay(marker);
        break;
    case POLYLINE:// 84002E rojo FF5B00 naranja
        // Polyline line = new
        // Polyline(GoogleMapsAdapters.getLatLngs(((PolyLine)
        // geometry).getPoints()), "#0000ff", 2);
        // colores:
        // Verde-viajero:#088A08
        // azul marino oscuro: #08088A
        // rojo oscuro: #B40404
        // morado: #8A0886
        Polyline line = new Polyline(GoogleMapsAdapters.getLatLngs(((PolyLine) geometry).getPoints()),
                "#088A08", 4, 0.9);
        line.addPolylineClickHandler(new PolylineClickHandler() {
            @Override
            public void onClick(PolylineClickEvent event) {
                latLong = event.getLatLng();
                // solo para webNmasuno resources!
                try {
                    // enviamos la polyline para poder cambiar el color.
                    ((WebNMasUnoClickHandler) clickHandler).onClick(null, event.getSender());
                } catch (Exception e) {
                    // class cast exception: no hacemos nada.
                    // significa que no es un webnmasuno resource.
                }
                clickHandler.onClick(null); // TODO: null???
            }
        });
        // Anado estos dos eventos vacios para que cambie el raton
        // automaticamente. Y si en el futuro se quiere hacer algo
        line.addPolylineMouseOverHandler(new PolylineMouseOverHandler() {
            @Override
            public void onMouseOver(PolylineMouseOverEvent event) {

            }
        });
        line.addPolylineMouseOutHandler(new PolylineMouseOutHandler() {
            @Override
            public void onMouseOut(PolylineMouseOutEvent event) {

            }
        });
        getMap().setCenter(line.getBounds().getCenter(), getMap().getBoundsZoomLevel(line.getBounds()));// line.getBounds().toSpan()
        addOverlay(line);
        break;
    case POLYGON:
        Polygon polygon = new Polygon(GoogleMapsAdapters
                .getLatLngs(((es.upm.fi.dia.oeg.map4rdf.share.Polygon) geometry).getPoints()));
        polygon.addPolygonClickHandler(new PolygonClickHandler() {
            @Override
            public void onClick(PolygonClickEvent event) {
                latLong = event.getLatLng();
                clickHandler.onClick(null); // TODO: null???
            }
        });
        addOverlay(polygon);
        break;
    }

}

From source file:org.onebusaway.webapp.gwt.tripplanner_library.view.TripBeanMapPresenter.java

License:Apache License

public void displayTrip(ItineraryBean trip, List<Overlay> resultingOverlays) {

    resultingOverlays.clear();//www. j  av a 2  s.  c  om

    LatLngBounds bounds = LatLngBounds.newInstance();

    for (LegBean segment : trip.getLegs()) {

        String mode = segment.getMode();

        if (mode.equals("transit")) {

            TransitLegBean leg = segment.getTransitLeg();
            String path = leg.getPath();

            if (path != null) {

                List<CoordinatePoint> points = PolylineEncoder.decode(path);
                EncodedPolylineBean bean = PolylineEncoder.createEncodings(points);

                Polyline line = getPathAsPolyline(bean);
                PolyStyleOptions style = PolyStyleOptions.newInstance("#0000FF", 4, 0.5);
                line.setStrokeStyle(style);
                resultingOverlays.add(line);

                addBoundsToBounds(line.getBounds(), bounds);
            }

            StopBean stop = leg.getFromStop();

            if (stop != null) {
                String routeName = leg.getRouteShortName();

                TripPlannerResources resources = TripPlannerResources.INSTANCE;
                SpanPanel w = new SpanPanel();
                w.addStyleName(_css.routeTinyInfoWindow());
                Image image = new Image(resources.getBus14x14().getUrl());
                image.addStyleName(_css.routeModeIcon());
                w.add(image);
                SpanWidget name = new SpanWidget(routeName);
                name.setStyleName(_css.routeName());
                w.add(name);

                LatLng point = LatLng.newInstance(stop.getLat(), stop.getLon());
                TinyInfoWindowMarker marker = new TinyInfoWindowMarker(point, w);
                resultingOverlays.add(marker);

                bounds.extend(point);
            }
        } else if (mode.equals("walk")) {
            List<StreetLegBean> streetLegs = segment.getStreetLegs();
            List<CoordinatePoint> allPoints = new ArrayList<CoordinatePoint>();
            for (StreetLegBean streetLeg : streetLegs) {
                String path = streetLeg.getPath();
                List<CoordinatePoint> points = PolylineEncoder.decode(path);
                allPoints.addAll(points);
            }
            EncodedPolylineBean polyline = PolylineEncoder.createEncodings(allPoints);
            Polyline line = getPathAsPolyline(polyline);
            PolyStyleOptions style = PolyStyleOptions.newInstance("#000000", 4, 0.8);
            line.setStrokeStyle(style);
            resultingOverlays.add(line);

            addBoundsToBounds(line.getBounds(), bounds);
        }
    }

    for (Overlay overlay : resultingOverlays)
        _map.addOverlay(overlay);

    if (_centerOnTrip && !bounds.isEmpty()) {
        _map.setCenter(bounds.getCenter());
        int zoom = _map.getBoundsZoomLevel(bounds);
        _map.setCenter(bounds.getCenter(), zoom);
    }
}