package org.vaadin.elements.demo;
import org.vaadin.elements.Element;
import org.vaadin.elements.ElementIntegration;
import org.vaadin.elements.Elements;
import org.vaadin.elements.Root;
import com.vaadin.annotations.HtmlImport;
import com.vaadin.ui.Button;
import com.vaadin.ui.Component;
import com.vaadin.ui.CssLayout;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.VerticalLayout;
@HtmlImport("vaadin://bower_components/google-map/google-map.html")
public class GoogleMapDemo extends AbstractElementsDemo {
@Override
protected String getDemoDescription() {
return "Maps!";
}
@Override
protected Component getDemoView() {
CssLayout wrapper = new CssLayout();
Root root = ElementIntegration.getRoot(wrapper);
final Element googleMap = Elements.create("google-map");
googleMap.setAttribute("style",
"height: 500px; width: 500px; display: block");
googleMap.setAttribute("latitude", "60.45235");
googleMap.setAttribute("longitude", "22.299727");
googleMap.setAttribute("zoom", "17");
root.appendChild(googleMap);
HorizontalLayout buttons = new HorizontalLayout(
new Button("GWT.create US", event -> {
googleMap.setAttribute("latitude", "37.414274");
googleMap.setAttribute("longitude", "-122.077409");
}), new Button("GWT.create EU", event -> {
googleMap.setAttribute("latitude", "48.152663");
googleMap.setAttribute("longitude", "11.598418");
}));
buttons.setSpacing(true);
VerticalLayout layout = new VerticalLayout(buttons, wrapper);
layout.setSpacing(true);
return layout;
}
}