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

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

Introduction

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

Prototype

public void addPolylineClickHandler(final PolylineClickHandler handler) 

Source Link

Document

This event is fired when the polyline is clicked.

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  . ja va2s.  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;
    }

}