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

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

Introduction

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

Prototype

public Polyline(LatLng[] points, String color, int weight, double opacity) 

Source Link

Document

Create a new polyline.

Usage

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;/*from  www .j  av  a2  s. c o  m*/
    }
    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;
    }

}