Margel Douglas:
Legal cara!
Se tiver como posta o código ai ;)
Segue o code que me ajudou.
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Accordion;
import javafx.scene.control.TitledPane;
import javafx.scene.effect.Reflection;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.BorderPane;
import javafx.scene.paint.Color;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
WebEngine engine;
@Override
public void start(Stage stage) {
Scene scene = new Scene(createMap());
scene.setFill(Color.rgb(230, 230, 230));
stage.setScene(scene);
stage.setTitle("Java Conference Tour");
stage.setHeight(450);
stage.setWidth(700);
stage.show();
}
private BorderPane createMap() {
BorderPane inner = new BorderPane();
inner.setCenter(createWebView());
inner.setLeft(createConferences());
BorderPane outer = new BorderPane();
AnchorPane anchor = new AnchorPane();
anchor.getChildren().add(inner);
AnchorPane.setBottomAnchor(inner, 100d);
AnchorPane.setTopAnchor(inner, 30d);
AnchorPane.setLeftAnchor(inner, 30d);
AnchorPane.setRightAnchor(inner, 30d);
outer.setCenter(anchor);
return outer;
}
private WebView createWebView() {
WebView webView = new WebView();
engine = webView.getEngine();
webView.getEngine().load(getClass().getResource("content.html").toString());
webView.setEffect(new Reflection());
return webView;
}
private Accordion createConferences() {
Accordion accordion = new Accordion();
final TitledPane india = createConference("JavaOne India", 17.385371, 78.484268, "http://steveonjava.com/wp-content/uploads/2011/03/javaone-india.png");
accordion.getPanes().add(india);
accordion.getPanes().add(createConference("OSCON", 45.515008, -122.693253, "http://steveonjava.com/wp-content/uploads/2011/05/oscon.png"));
accordion.getPanes().add(createConference("Devoxx", 51.206883, 4.44, "http://steveonjava.com/wp-content/uploads/2010/07/LogoDevoxxNeg150.png"));
accordion.getPanes().add(createConference("J-Fall", 52.219913, 5.474253, "http://steveonjava.com/wp-content/uploads/2011/11/jfall3.png"));
accordion.getPanes().add(createConference("JavaOne SF", 37.775057, -122.416534, "http://steveonjava.com/wp-content/uploads/2010/07/JavaOne-2010-Speaker.png"));
accordion.getPanes().add(createConference("Jazoon", 47.382079, 8.528137, "http://steveonjava.com/wp-content/uploads/2010/04/jazoon.png"));
accordion.getPanes().add(createConference("GeeCON", 50.064633, 19.949799, "http://steveonjava.com/wp-content/uploads/2011/03/geecon.png"));
india.setExpanded(true);
accordion.setExpandedPane(india);
accordion.expandedPaneProperty().addListener(new ChangeListener<TitledPane>() {
public void changed(ObservableValue<? extends TitledPane> ov, TitledPane t, TitledPane t1) {
if (t1 != null) {
((ConferencePane)t1).navigateTo();
}
}
});
return accordion;
}
private ConferencePane createConference(String name, final double lat, final double lon, String imageUrl) {
return new ConferencePane(name, new ImageView(new Image(imageUrl)), lat, lon);
}
public class ConferencePane extends TitledPane {
private final double lat;
private final double lon;
private ConferencePane(String label, Node node, double lat, double lon) {
super(label, node);
this.lat = lat;
this.lon = lon;
}
public void navigateTo() {
engine.executeScript("moveMap(" + lat + ", " + lon + ");");
}
}
}
content.html
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0px; padding: 0px }
#map_canvas { height: 100% }
</style>
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=true">
</script>
<script type="text/javascript">
var map ;
function initialize() {
var latlng = new google.maps.LatLng(17.385371, 78.484268);
var myOptions = {
zoom: 12,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
}
function addMarker(lat, lng) {
var newmarker = new google.maps.Marker({
position: new google.maps.LatLng(lat, lng),
map: map
});
}
function moveMap(lat, lng) {
var latlng = new google.maps.LatLng(lat, lng);
map.setCenter(latlng);
}
</script>
</head>
<body onload="initialize()">
<div id="map_canvas" style="width:100%; height:100%"></div>
</body>
</html>