Example usage for com.google.gwt.maps.client.overlay Marker getLatLng

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

Introduction

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

Prototype

public LatLng getLatLng() 

Source Link

Document

Returns the geographical coordinates at which this marker is anchored, as set by the constructor or by #setLatLng(LatLng) .

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;//w  ww. j a  v  a 2  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;
    }

}

From source file:org.maps.client.TRIFacilitiesLayer.java

License:Apache License

private MarkerClickHandler getClusterClickHandler() {
    if (clusterClickHandler == null) {
        clusterClickHandler = new MarkerClickHandler() {

            public void onClick(MarkerClickEvent event) {
                Marker marker = event.getSender();
                LatLng latLng = marker.getLatLng();
                int zoomLevel = getMap().getZoomLevel() + 1;
                getMap().setCenter(latLng, zoomLevel);
            }//from   w w  w.j av a 2s  . c  o m

        };
    }
    return clusterClickHandler;
}

From source file:org.onebusaway.webapp.gwt.oba_application.view.ResultsTablePresenter.java

License:Apache License

private void refresh() {

    clear();//from   www. j  a  v  a2 s  .  c o m

    if (_minimized) {

        DivPanel panel = new DivPanel();
        panel.addStyleName(_css.ResultsTableWidgetMinimized());
        _tablePanel.add(panel);

        Anchor showAllEntries = new Anchor("Show all results...");
        showAllEntries.addClickHandler(new ClickHandler() {
            public void onClick(ClickEvent arg0) {
                _control.clearActiveSearchResult();
            }
        });
        panel.add(showAllEntries);

        constructAttributionPanel();

    } else {

        _tablePanel.add(_filterWidget);

        List<TimedLocalSearchResult> entries = _model.getActiveEntries();

        Grid grid = new Grid(entries.size() + 1, 4);
        grid.addStyleName(_css.ResultsTableWidgetResultsTable());
        grid.setText(0, 0, "");
        grid.setWidget(0, 1, getTableHeaderWidget("Name", EResultsSort.NAME));
        grid.setWidget(0, 2, getTableHeaderWidget("Rating", EResultsSort.RATING));
        grid.setWidget(0, 3, getTableHeaderWidget("Distance", EResultsSort.DISTANCE));

        grid.getRowFormatter().addStyleName(0, "ResultsTableWidget-ResultsTable-HeaderRow");

        grid.getCellFormatter().addStyleName(0, 1, "ResultsTableWidget-ResultsTable-HeaderRow-Name");
        grid.getCellFormatter().addStyleName(0, 2, "ResultsTableWidget-ResultsTable-HeaderRow-Rating");
        grid.getCellFormatter().addStyleName(0, 3, "ResultsTableWidget-ResultsTable-HeaderRow-Distance");

        int index = 0;

        LatLngBounds bounds = LatLngBounds.newInstance();

        for (TimedLocalSearchResult tlsr : entries) {

            LocalSearchResult entry = tlsr.getLocalSearchResult();

            int tableRow = index + 1;
            EntryClickHandler handler = new EntryClickHandler(tlsr);

            String labelPre = index < ROW_LABELS.length() ? (ROW_LABELS.charAt(index) + "") : "";
            grid.setWidget(tableRow, 0, new SpanWidget(labelPre));
            grid.getCellFormatter().addStyleName(tableRow, 0, "ResultsTableWidget-ResultsTable-LabelColumn");

            Anchor name = new Anchor(entry.getName());
            name.addClickHandler(handler);
            grid.setWidget(tableRow, 1, name);
            grid.getCellFormatter().addStyleName(tableRow, 1, "ResultsTableWidget-ResultsTable-NameColumn");

            if (entry.getRatingUrlSmall() != null) {
                Image image = new Image(entry.getRatingUrlSmall());
                grid.setWidget(tableRow, 2, image);
            } else {
                String rating = entry.getRating() + "/" + entry.getMaxRating();
                grid.setText(tableRow, 2, rating);
            }
            grid.getCellFormatter().addStyleName(tableRow, 2, "ResultsTableWidget-ResultsTable-RatingColumn");

            int minutes = tlsr.getTime() / 60;
            String minLabel = minutes + " " + (minutes == 1 ? " min" : " mins");
            grid.setText(tableRow, 3, minLabel);
            grid.getCellFormatter().addStyleName(tableRow, 3, "ResultsTableWidget-ResultsTable-TimeColumn");

            grid.getRowFormatter().addStyleName(tableRow, "ResultsTableWidget-ResultsTable-ResultRow");

            Marker marker = getMarker(index, entry);
            marker.addMarkerClickHandler(handler);
            _mapOverlayManager.addOverlay(marker, 10, 20);
            _overlays.add(marker);

            index++;

            bounds.extend(marker.getLatLng());
        }

        if (!bounds.isEmpty()) {
            MapWidget map = _mapOverlayManager.getMapWidget();
            LatLngBounds currentView = map.getBounds();
            if (!currentView.containsBounds(bounds)) {
                _mapOverlayManager.setCenterAndZoom(bounds);
            }
        }

        _tablePanel.add(grid);

        constructItemNavigationPanel(entries);
        constructAttributionPanel();
    }
}

From source file:org.opennms.features.poller.remote.gwt.client.GoogleMapsPanel.java

License:Open Source License

/** {@inheritDoc} */
@Override/*from  www. j  a  v  a2 s . c om*/
public void showLocationDetails(final String name, final String htmlTitle, final String htmlContent) {
    final Marker m = m_markers.get(name);

    getMapWidget().savePosition();
    getMapWidget().setCenter(m.getLatLng());
    if (m != null) {
        final VerticalPanel panel = new VerticalPanel();
        panel.add(new Label(htmlTitle));
        panel.add(new HTML(htmlContent));
        getMapWidget().getInfoWindow().open(m.getLatLng(), new InfoWindowContent(panel.toString()));
        getMapWidget().getInfoWindow().addInfoWindowCloseClickHandler(new InfoWindowCloseClickHandler() {
            @Override
            public void onCloseClick(InfoWindowCloseClickEvent event) {
                getMapWidget().returnToSavedPosition();
            }
        });
    }
}

From source file:org.sigmah.client.page.entry.SiteMap.java

License:Open Source License

public void highlightSite(int siteId, boolean panTo) {
    Marker marker = sites.get(siteId);
    if (marker != null) {

        // we can't change the icon ( I don't think )
        // so we'll bring in a ringer for the selected site

        if (highlitMarker == null) {
            GcIconFactory iconFactory = new GcIconFactory();
            iconFactory.primaryColor = "#0000FF";
            MarkerOptions opts = MarkerOptions.newInstance();
            opts.setIcon(iconFactory.createMarkerIcon());
            highlitMarker = new Marker(marker.getLatLng(), opts);
            map.addOverlay(highlitMarker);
        } else {//ww w .  ja  va 2 s  . c  om
            // make sure this marker is on top
            map.removeOverlay(highlitMarker);
            highlitMarker.setLatLng(marker.getLatLng());
            map.addOverlay(highlitMarker);
        }

        if (currentHighlightedMarker != null) {
            currentHighlightedMarker.setVisible(true);
        }
        currentHighlightedMarker = marker;
        currentHighlightedMarker.setVisible(false);

        if (!map.getBounds().containsLatLng(marker.getLatLng())) {
            map.panTo(marker.getLatLng());
        }
    } else {
        // no coords, un highlight existing marker
        if (currentHighlightedMarker != null) {
            currentHighlightedMarker.setVisible(true);
        }
        if (highlitMarker != null) {
            map.removeOverlay(highlitMarker);
            highlitMarker = null;
        }
    }
}