List of usage examples for com.google.gwt.maps.client.overlay Polyline getBounds
public LatLngBounds getBounds()
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); } }