Bonjour,

Je suis en train de faire une petite application de test dont le but est d'afficher une map.

Cette application doit fonctionner avec OSGi (avec la notion de bundle) et le but final est lors de exécution de l'application la map doit être affichée.

Je pense que je dois faire appel à la page web de map dans le code de la méthode start de la classe Activator.
Et je pense que dans le manifest du bundle, il faut rajouter un import nécessaire à l'affichage de map.

Je travaille avec Eclipse Apache Karaf.

Voici mon code :

La page testMap.xhtml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<h:form>  
 
    <p:growl id="growl" showDetail="true"/>  
 
    <p:gmap center="36.890257,30.707417" zoom="13" type="HYBRID" model="#{mapBean.simpleModel}"  style="width:600px;height:400px">  
        <p:ajax event="overlaySelect" listener="#{mapBean.onMarkerSelect}" update="growl" />  
    </p:gmap>  
 
</h:form>
La classe MapBean.java
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
package org.primefaces.examples.view;  
 
import java.io.Serializable;  
 
import javax.faces.application.FacesMessage;  
import javax.faces.context.FacesContext;  
 
import org.primefaces.event.map.OverlaySelectEvent;  
import org.primefaces.model.map.DefaultMapModel;  
import org.primefaces.model.map.LatLng;  
import org.primefaces.model.map.MapModel;  
import org.primefaces.model.map.Marker;  
 
public class MapBean implements Serializable {  
 
    private MapModel simpleModel;  
 
    private Marker marker;  
 
    public MapBean() {  
        simpleModel = new DefaultMapModel();  
 
        //Shared coordinates  
        LatLng coord1 = new LatLng(36.879466, 30.667648);  
        LatLng coord2 = new LatLng(36.883707, 30.689216);  
        LatLng coord3 = new LatLng(36.879703, 30.706707);  
        LatLng coord4 = new LatLng(36.885233, 30.702323);  
 
        //Basic marker  
        simpleModel.addOverlay(new Marker(coord1, "Konyaalti"));  
        simpleModel.addOverlay(new Marker(coord2, "Ataturk Parki"));  
        simpleModel.addOverlay(new Marker(coord3, "Karaalioglu Parki"));  
        simpleModel.addOverlay(new Marker(coord4, "Kaleici"));  
    }  
 
    public MapModel getSimpleModel() {  
        return simpleModel;  
    }  
 
    public void onMarkerSelect(OverlaySelectEvent event) {  
        marker = (Marker) event.getOverlay();  
 
        addMessage(new FacesMessage(FacesMessage.SEVERITY_INFO, "Marker Selected", marker.getTitle()));  
    }  
 
    public Marker getMarker() {  
        return marker;  
    }  
 
    public void addMessage(FacesMessage message) {  
        FacesContext.getCurrentInstance().addMessage(null, message);  
    }  
}
Quelqu'un saurait-il m'expliquer comment faire ?

Merci d'avance pour votre aide.