Bonjour,
j'essaye d'intégrer une page contenant google maps dans une view (browser)
voici la page:
Ma viewPart ressemble à ca:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 <!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>Google Maps JavaScript API Example</title> <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAjZ8pBvAzVnfGqQHM4FBBpRQ_-f1RzMzZY0pMcJ-g0KVm6I4ZERQ11sD7MTBj8Xsf3kP5W7IGaI3kXQ &sensor=false" type="text/javascript"></script> <script type="text/javascript"> var map; function initialize() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(37.4419, -122.1419), 13); // Enable the Earth map type map.addMapType(G_SATELLITE_3D_MAP); var mapControl = new GMapTypeControl(); map.addControl(mapControl); } } </script> </head> <body onload="initialize()" > <div id="map_canvas" style="width: 100%; height: 100%"></div> </body> </html>
j'ai 2 comportements bizarres:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 package aircraftTrackingPlugin.views; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import org.eclipse.jface.util.LocalSelectionTransfer; import org.eclipse.swt.SWT; import org.eclipse.swt.browser.Browser; import org.eclipse.swt.dnd.DND; import org.eclipse.swt.dnd.DropTarget; import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.events.ControlEvent; import org.eclipse.swt.events.ControlListener; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.part.ViewPart; import aircraftTrackingPlugin.Conf; import aircraftTrackingPlugin.model.CurrentWatchingAircraftCollection; public class EarthView extends ViewPart implements PropertyChangeListener{ public static final String ID = "aircrafttrackingapp.views.EarthView"; private Browser browser; @Override public void createPartControl(Composite arg0) { browser = new Browser(arg0, SWT.SCROLL_LOCK); browser.addControlListener(new ControlListener() { public void controlResized(ControlEvent e) { // Use Javascript to set the browser width and height browser .execute("document.getElementById('map_canvas').style.width= " + (browser.getSize().x - 41) + ";"); browser .execute("document.getElementById('map_canvas').style.height= " + (browser.getSize().y - 41) + ";"); } public void controlMoved(ControlEvent e) { } }); browser.setUrl(Conf.CONFIGURATION_SERVER_URL+"public/earth.html"); //the drop listener int operations = DND.DROP_COPY| DND.DROP_MOVE; DropTarget dropTarget = new DropTarget(browser, operations); dropTarget.setTransfer(new Transfer[] {LocalSelectionTransfer.getTransfer()}); dropTarget.addDropListener(new AircraftDropListener()); CurrentWatchingAircraftCollection.getInstance().addPropertyChangeListener(this); } @Override public void dispose() { super.dispose(); CurrentWatchingAircraftCollection.getInstance().removePropertyChangeListener(this); } @Override public void setFocus() { // TODO Auto-generated method stub } }
Lorsque ma vue se charge (sur une map type plan), la view est vide. Il faut que je la resize pour que la map apparaisse.
Lorsque je passe en mode (Earth) => je clique sur
Plan-Satellite-Mixte-Earth
le plugin ne se lance pas. je me retrouve avec l'image de la terre avec
Le plug-in Google Earth est maintenant installé/ Redemarrez votre navigateur pour le voir en action
Quelqu'un a une idée? Pour info, je colle l'adresse de la page dans firefox, IE ou chrome, et tout fonctionne a merveille.
Partager