tutorials.de Buch-Aktion 02/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
17
ZUGRIFFE
10760
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.724
    Blog-Einträge
    29
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  2. #2
    LarsK LarsK ist offline Rookie
    Registriert seit
    Feb 2005
    Beiträge
    5
    Das sieht ja richtig schick aus, da kann man ganz viele schöne Dinge mit anstellen glaub ich.

    Gruß

    Lars
     

  3. #3
    SeppiK SeppiK ist offline Grünschnabel
    Registriert seit
    Jan 2007
    Beiträge
    1
    Hallo,
    ich versuche gerade testweise, ein Karte via der googlemaps taglib von lamatek zu erzeugen.
    Dies will mir jedoch nicht so ganz gelingen.
    Habe folgendes gemacht.

    Habe mit eine Key bei Google erzeugt. Dieser funktioniert auch, dass hab ich mit JavaScript getestet, also die Erzeugung einer Karte mit JS funktioniert.

    Dann habe ich die googlemaps.jar in /WEB-INF/lib und die googlemaps.tld in /WEB-INF kopiert.
    Die Tags stehen mir jetzt auch im Editor (Eclipse) zur Verfügung.
    Als nächstes habe ich eine JSP Erzeugt und dort den Code der Examples der lamatek Seite eingefügt. Normaler weiß sollte dann später zu Laufzeit JavaScript durch die Tags in die Seite eigebundne werden doch das geschieht nicht. Hier mal meine JSP
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%@ taglib uri="/WEB-INF/googlemaps.tld" prefix="googlemaps"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Test Googlemaps</title>
    </head>
     
    <body>
     
    <googlemaps:map id="map" width="250" height="300" version="2" type="STREET" zoom="12">
        <googlemaps:key domain="localhost" key="MEIN_KEY"/>
        <googlemaps:point id="point1" address="74 Connors Lane" city="Elkton" state="MD" zipcode="21921" country="US"/>
    </googlemaps:map>
     
    </body>
    </html>
    weiß jemand was ich falsche gemacht habe, oder was ich vergessen haben könnte.

    Hier noch meine web.xml

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
        <display-name>
        TestGoogleMaps</display-name>
        
        <welcome-file-list>
            <welcome-file>index.html</welcome-file>
            <welcome-file>index.htm</welcome-file>
            <welcome-file>index.jsp</welcome-file>
            <welcome-file>default.html</welcome-file>
            <welcome-file>default.htm</welcome-file>
            <welcome-file>default.jsp</welcome-file>
        </welcome-file-list>
    </web-app>



    Beste Grüße

    Seppi

    Hat sich erstmal erledigt.
    Ich hatte wohl übersehen, dass ich einige Tags noch einfügung muss die explizit für die Generierung von JavaScript verantwortlich sind.

    Trotzdem Danke

    Gruß

    Seppi
     

  4. #4
    y0dA y0dA ist offline Mitglied Brokat
    Registriert seit
    Mar 2007
    Beiträge
    263
    Da ich grade an derselben stelle an stehe meine frage, welche tags hast du noch eingebunden damit es funktioniert hat?

    bzw bekomme ich folgende ausnahme wenn ich die seite öffnen möchte:

    avax.servlet.ServletException: /jsp/dummy.jsp(12,0) Unable to load tag handler class "com.lamatek.tags.google.GoogleMapTag" for tag "googlemaps:map"
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:154)
    org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)

    root cause

    javax.faces.FacesException: /jsp/dummy.jsp(12,0) Unable to load tag handler class "com.lamatek.tags.google.GoogleMapTag" for tag "googlemaps:map"
    org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.ja va:431)
    org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)
    org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
    org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
    org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)

    Es handelt sich hierbei um eine myFaces Applikation.

    **EDIT**
    Ok das mit der exception hat sich soeben erledigt, nun bekomme ich eine leere jsp seite angezeigt! Also warum ging bei dir bei der oben genannten jsp das ganze nicht? was muss ich ergänzen, fehlt eventuell eine konfiguration?

    Bin für jede Hilfe dankbar.

    mfg
    Geändert von y0dA (08.05.07 um 16:22 Uhr)
     

  5. #5
    y0dA y0dA ist offline Mitglied Brokat
    Registriert seit
    Mar 2007
    Beiträge
    263
    Falls es jemanden interessiert, die Lösung:

    Code :
    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
    
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
    <%@ taglib uri="/WEB-INF/googlemaps.tld" prefix="googlemaps"%>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
     
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Test Googlemaps</title>
     
    <googlemaps:map id="map" width="250" height="300" version="2" type="STREET" zoom="12">
        <googlemaps:key domain="localhost" key="ABQIAAAAU5IDceLqYFSp4k84FYLxyRTwM0brOpm-All5BF6PoaKBxRWWERSDiAIGyx-hbmMfA3v7tHF4Tvwfaw"/>
        <googlemaps:point id="point1" address="74 Connors Lane" city="Elkton" state="MD" zipcode="21921" country="US"/>
        <googlemaps:marker id="marker1" point="point1"/>
    </googlemaps:map>
    <googlemaps:scripttag id="map" scope="page" />
    <googlemaps:javascript id="map"></googlemaps:javascript> 
    </head>
     
    <body onunload="GUnload()"> 
         <googlemaps:div id="map" scope="page"></googlemaps:div> 
     
        <googlemaps:initialize id="map" scope="page"/>
    </body>
    </html>
     

  6. #6
    AndreBrueck AndreBrueck ist offline Mitglied Silber
    Registriert seit
    Jun 2004
    Ort
    Landau (Pfalz)
    Beiträge
    54
    Hallo,

    würde auch gerne die google tag libary benutzen.

    Habe das JAR File auch wie angegeben in den WEB-INF/lib ordner kopiert.

    konnte die Tags auch in einer JSP Seite im JDeveloper einbinden. Allerdings bekomme ich beim Ausführen folgende Fehler:

    Code :
    1
    2
    3
    4
    5
    6
    7
    
    Error(12): Instanziieren von Tag nicht möglich: googlemaps:map (Klasse: com.lamatek.tags.google.GoogleMapTag)  Vergewissern Sie sich, dass die Tag-Klasse verfügbar ist und die Tag Library, die die Klasse enthält, nicht von dieser Anwendung ausgeschlossen ist.
     
    Error(12): Klasse für Bean: null nicht gefunden, definiert durch Tag mit Klasse: com.lamatek.tags.google.GoogleMapTag
     
    Error(13): Instanziieren von Tag nicht möglich: googlemaps:key (Klasse: com.lamatek.tags.google.GoogleMapKeyTag)  Vergewissern Sie sich, dass die Tag-Klasse verfügbar ist und die Tag Library, die die Klasse enthält, nicht von dieser Anwendung ausgeschlossen ist.
     
    Error(13): Klasse für Bean: null nicht gefunden, definiert durch Tag mit Klasse: com.lamatek.tags.google.GoogleMapKeyTag

    Währe schön, wenn mir jemand eine Lösung für mein Proiblem nennen könnte.

    Liebe Grüße
    André
     

  7. #7
    AndreBrueck AndreBrueck ist offline Mitglied Silber
    Registriert seit
    Jun 2004
    Ort
    Landau (Pfalz)
    Beiträge
    54
    Hallo,

    mein 1. Problem ist gelöst, hatte das jar file nicht richtig eingebunden.

    hab nun aber ein neues Problem. Ich bekomme es nicht hin, dass eine deutsche Adresse angezeigt wird, lande immer irgendwo im Wasser.

    Möchte folgende Adresse anzeigen:
    "Rosengarten, Zweibrücken germany"

    habe schon alle erdenglichen Möglichkeiten probiert.

    <googlemapsoint id="point1" address="Rosengarten" city="Zweibrücken" state="RLP" zipcode="66482" country="DE"/>
     

  8. #8
    y0dA y0dA ist offline Mitglied Brokat
    Registriert seit
    Mar 2007
    Beiträge
    263
    Richfaces wäre eine Alternative (ohne jetzt genauerers über deine Applikation zu kennen)

    mfg
     

  9. #9
    AndreBrueck AndreBrueck ist offline Mitglied Silber
    Registriert seit
    Jun 2004
    Ort
    Landau (Pfalz)
    Beiträge
    54
    Hallo,

    habs mit richfaces probiert, komme damit aber nicht so recht klar.

    Gibts da ein verständliches Beispiel, oder Tutoriel?
     

  10. #10
    y0dA y0dA ist offline Mitglied Brokat
    Registriert seit
    Mar 2007
    Beiträge
    263
    mehr oder weniger Tutorial:http://livedemo.exadel.com/richfaces...2BDF09B?c=gmap

    hier code snippets von einem dummy projekt (in myFaces):

    web.xml muss man filter definieren:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
        <context-param> 
          <param-name>org.ajax4jsf.SKIN</param-name> 
          <param-value>blueSky</param-value> 
        </context-param> 
        <filter> 
          <display-name>Ajax4jsf Filter</display-name> 
          <filter-name>ajax4jsf</filter-name> 
          <filter-class>org.ajax4jsf.Filter</filter-class> 
        </filter> 
        <filter-mapping> 
          <filter-name>ajax4jsf</filter-name> 
           <servlet-name>Faces Servlet</servlet-name>
           <dispatcher>REQUEST</dispatcher>
           <dispatcher>FORWARD</dispatcher>
           <dispatcher>INCLUDE</dispatcher>
        </filter-mapping>

    jsp:
    Code :
    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
    
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
    <%@ taglib uri="http://richfaces.ajax4jsf.org/rich" prefix="rich"%>
    <%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%> 
     
    <script type="text/javascript">
       //<![CDATA[
        function createPoints(data) {
            for (var i = 0; data.length; i++) {
                var point = new GLatLng(data[i].lat, data[i].lng);
                map.addOverlay(createMarkerWithIdentifier(point, data[i].desc));
            }       
        } 
        
        function createMarkerWithIdentifier(point, desc) {
          var marker = new GMarker(point);
          GEvent.addListener(marker, "click", function() {
            marker.openInfoWindowHtml(desc);
          });
          return marker;
        }   
        //]]>
    </script>
     
    <html>
        <head>
            <title>Hello World</title>
        </head>
        <body>
            <f:view>
                <h:panelGrid columns="2">
                    <rich:gmap binding="#{gmBean.map}"/>    
                </h:panelGrid>        
            <h:form>   
                <a4j:jsFunction name="initializePoints" data="#{gmBean.points}"
                    oncomplete="createPoints(data)">
                </a4j:jsFunction>
            </h:form> 
            </f:view>
            
        </body>
    </html>

    faces config:
    Code :
    1
    2
    3
    4
    5
    
    <managed-bean>
          <managed-bean-name>gmBean</managed-bean-name>
          <managed-bean-class>org.richfaces.demo.gmap.Bean</managed-bean-class>
          <managed-bean-scope>session</managed-bean-scope>
        </managed-bean>

    bean:
    Code :
    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    
    package org.richfaces.demo.gmap;
     
    import java.util.ArrayList;
    import java.util.HashMap;
     
    import javax.faces.context.ExternalContext;
    import javax.faces.context.FacesContext;
    import javax.faces.event.ActionEvent;
     
    import org.richfaces.component.html.HtmlGmap;
     
     
    public class Bean {
        
        //------------------------------------------------------------------------------------------------------------------
        // FIELDS
        //------------------------------------------------------------------------------------------------------------------
        
        /** google map */
        private HtmlGmap map;
     
        /** whole authorization for google map */
        private String gmapKey;
        
        /** google key for this application */
        private static final String GOOGLE_API_KEY =  "google api key einfügen"
                
        /** application url */
        private static final String APPL_URL = "url der applikation - localhost:8080 e.g.";
        
        /** host string */
        private static final String HOST = "host";
        
        /** error message if key is not generated for <code>Bean.APPL_URL</code> */
        private static final String KEY_ERROR_MSG =
            "get the key for your domain at http://www.google.com/apis/maps/signup.html";
        
        /** style of the google map */
        private static final String MAP_STYLE = "width:400px;height:400px";
        
        /** java script method which load points for google map - ajax4jsf script */
        private static final String LOAD_POINTS_INITIALIZE = "initializePoints()";
        
        /** google map initial zoom */
        private static final String MAP_ZOOM_INITIAL = "5";
        
        /** google map initial lattidude value */
        private static final String MAP_LATTIDUDE_INITIAL = "37.4419";
        
        /** google map initial longtidude value */
        private static final String MAP_LONGTIDUDE_INITIAL = "-122.1419";
        
        /** google map initial type of show value */
        private static final String MAP_TYPE_INITIAL = "G_NORMAL_MAP";
        
        /** google map variable for java script */
        private static final String MAP_GMAP_VAR = "map";
        
        /** contains google map points data */
        private ArrayList<Place> points;
        
        private String longtitude;
        
        private String lattidude;
        
        private Boolean activate = false;
        
        //------------------------------------------------------------------------------------------------------------------
        // CONSTRUCTOR
        //------------------------------------------------------------------------------------------------------------------
     
        /**
         * constructor
         */
        public Bean() {
            this.points = this.loadDataForMap();
        }
        
        //------------------------------------------------------------------------------------------------------------------
        // HELPER METHODS
        //------------------------------------------------------------------------------------------------------------------
            
        /**
         * reset user input from view
         */
        private void resetInput() {
            this.longtitude = "";
            this.lattidude = "";
        }
            
        /**
         * load points for google map
         * @return tmp loaded point data for map
         */
        private ArrayList<Place> loadDataForMap() {
            ArrayList<Place> tmp = new ArrayList<Place>();
            tmp.add(new Place ("goldengate", "/org/richfaces/demo/gmap/images/gold.gif", "37.81765", "-122.477603" , 14,
                    "Golden Gate  Bridge, San Francisco"));
            tmp.add(new Place ("eiffeltower", "/org/richfaces/demo/gmap/images//tower.gif", "48.858489", "2.295295" , 17,
                    "Eiffel Tower, Paris"));
            tmp.add(new Place ("pyramids", "/org/richfaces/demo/gmap/images/pyramids.gif", "29.977785", "31.132915" , 15,
                    "Pyramids of Egypt, Giza"));
            tmp.add(new Place ("exadel", "/org/richfaces/demo/gmap/images/exadel.gif", "37.971796", "-122.042334" , 18,
                    "Headquarter of Exadel, Inc , Concord"));   
            return tmp;
        }
        
        /**
         * create the whole google map key
         * @return key generated key
         */
        private String createKey() {
            HashMap<String, String> hosts = new HashMap<String, String>();
            hosts.put(Bean.APPL_URL, Bean.GOOGLE_API_KEY);
            ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
            String host = (String)ec.getRequestHeaderMap().get(Bean.HOST);
            String key = hosts.get(host);
            if (key != null) 
                return key;
            else
                return Bean.KEY_ERROR_MSG;  
        }
        
        /**
         * dummy button - just test
         *
         */
        public void doSomething() {
            System.out.println("laft");
            this.map.getGmapVar();
            this.map.getAttributes();
        }
        
        //------------------------------------------------------------------------------------------------------------------
        // GETTER/SETTER
        //------------------------------------------------------------------------------------------------------------------
     
        /**
         * getter method
         * @return gmapKey
         */
        public String getGmapKey() {
            if (gmapKey == null) {
                gmapKey = createKey();
            }
            return gmapKey;
        }
     
        /**
         * setter method
         * @param gmapKey
         */
        public void setGmapKey(final String gmapKey) {
            this.gmapKey = gmapKey;
        }
     
        /**
         * getter method
         * @return map
         */
        public HtmlGmap getMap() {
            return this.map;
        }
     
        /**
         * setter method
         * also initialized google map 
         * @param map
         */
        public void setMap(final HtmlGmap map) {
            if (this.map == null) {
                this.map = map;
                this.map.setGmapVar(Bean.MAP_GMAP_VAR);
                this.map.setOninit(Bean.LOAD_POINTS_INITIALIZE);
                this.map.setZoom(Bean.MAP_ZOOM_INITIAL);
                this.map.setStyle(Bean.MAP_STYLE);
                this.map.setGmapKey(this.getGmapKey());
                this.map.setLat(Bean.MAP_LATTIDUDE_INITIAL);
                this.map.setLng(Bean.MAP_LONGTIDUDE_INITIAL);
                this.map.setMapType(Bean.MAP_TYPE_INITIAL);
            } else {
                this.map = map;
            }
        }
     
        /**
         * getter method
         * @return points
         */
        public ArrayList<Place> getPoints() {
            return this.points;
        }
        
        /**
         * setter method
         * @param points
         */
        public void setPoints(final ArrayList<Place> points) {
            this.points = points;
        }
     
        public String getLongtitude() {
            return longtitude;
        }
     
        public void setLongtitude(String longtitude) {
            this.longtitude = longtitude;
        }
     
        public String getLattidude() {
            return lattidude;
        }
     
        public void setLattidude(String lattidude) {
            this.lattidude = lattidude;
        }
     
        public Boolean getActivate() {
            return activate;
        }
     
        public void setActivate(Boolean activate) {
            this.activate = activate;
        }
    }

    place:
    Code :
    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
    
    package org.richfaces.demo.gmap;
     
    public class Place {
        private String pic;
        private String id;
        private String lat;
        private String lng;
        private int zoom;
        private String desc;
        
     
        public String getDesc() {
            return desc;
        }
        public void setDesc(String desc) {
            this.desc = desc;
        }
        public Place(String id, String pic, String lat, String lng, int zoom, String desc) {
            super();
            this.id = id;
            this.pic = pic;
            this.lat = lat;
            this.lng = lng;
            this.zoom = zoom;
            this.desc = desc;
        }
        public String getId() {
            return id;
        }
        public void setId(String id) {
            this.id = id;
        }
        public String getLat() {
            return lat;
        }
        public void setLat(String lat) {
            this.lat = lat;
        }
        public String getLng() {
            return lng;
        }
        public void setLng(String lng) {
            this.lng = lng;
        }
        public int getZoom() {
            return zoom;
        }
        public void setZoom(int zoom) {
            this.zoom = zoom;
        }
        public String getPic() {
            return pic;
        }
        public void setPic(String pic) {
            this.pic = pic;
        }
    }
     
    hoffe das hilft weiter, wenn nicht meld dich wieder.
     
    mfg
     

  11. #11
    comsite07 comsite07 ist offline Mitglied
    Registriert seit
    Oct 2007
    Beiträge
    17
    Hallo liebe user!
    habe eine frage? wozu dient dieses Google Maps JSP tag Library eigentlich
    kann ich hierbei z.b. funktion erstellen: wenn die stadt "Rom" lautet finde die Koordinaten für Rom und zeig mir dann das entsprechende map.

    Also vielleicht ist das unmöglich aber dachte fragen kostet nix.
     

  12. #12
    schlumsch schlumsch ist offline Mitglied Silber
    Registriert seit
    Aug 2008
    Beiträge
    98
    Hallo allerseits,

    ich beschäftige mich erst seit kurzer Zeit mit Java und hoffe es kann mir vielleicht jemand von euch helfen, sei es mit Links oder Code oder Tips... hier also mal das Thema:

    Ich möchte mit JSF (keine jsp`s) und Google-Maps Informationen von Hotels darstellen lassen. Es soll also eine Seite dargestellt werden, welche einmal eine Map abbildet auf der die Hotels mit Pins gekennzeichnet sind. Daneben soll dann eine weitere Tabellenspalte die zusätzlichen Informationen der Hotels anzeigen.

    Bislang habe ich mir eine Klasse und ein bean gebastelt, in welchem ich eine Liste von Hotels („hotels“) speichere und 3 einzelne Hotels mit ein paar Daten auffülle. Hat sich vielleicht schon wer von euch mit einem ähnlichen Thema beschäftigt und kann mir helfen, die Daten aus meiner Hotelliste in die oben erwähnte Map und zugehörige Tabelle zu bekommen?

    jedenfalls habe ich schon mitbekommen, das richfaces die für mich relevante alterbnative ist um die map darzustellen. meine fragen sind nun die folgenden: wie passe ich das beispieltutorial unter
    http://livedemo.exadel.com/richfaces...2BDF09B?c=gmap
    auf mein bean an und zweitens: wo kommen dann die javascript-funktionen hin, die ich in meinem html-file gebastelt habe


    Wäre euch dankbar für Hilfe... hier mal mein code...



    Code :
    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
    
    //
    // hotel.java
    //
    package com.e2e.portal.hotel;
     
    public class Hotel {
       private String name, adresse;
       private double longitude, latitude;
       
     
       public Hotel() {
          // TODO Auto-generated constructor stub
          name = "";
          adresse = "";
          longitude = 0.0;
          latitude = 0.0;
       }
     
       public Hotel(String name, String adresse, double longitude, double latitude) {
          super();
          this.adresse = adresse;
          this.latitude = latitude;
          this.longitude = longitude;
          this.name = name;
       }
     
     
       public String getName() {
          return name;
       }
     
     
       public void setName(String name) {
          this.name = name;
       }
     
     
       public String getAdresse() {
          return adresse;
       }
     
     
       public void setAdresse(String adresse) {
          this.adresse = adresse;
       }
     
     
       public double getLongitude() {
          return longitude;
       }
     
     
       public void setLongitude(double longitude) {
          this.longitude = longitude;
       }
     
     
       public double getLatitude() {
          return latitude;
       }
     
     
       public void setLatitude(double latitude) {
          this.latitude = latitude;
       }

    Code :
    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
    
    //.......................................................
    //
    // hotelBean.java
    //
     
    package com.e2e.portal.hotel;
     
    import java.util.ArrayList;
    import java.util.List;
     
    import com.e2e.common.user.UnknownUserException;
    import com.e2e.itps.user.UserAuthentication;
    import com.e2e.itps.user.UserContext;
    import com.e2e.portal.service.User;
     
    import e2e.ta.portal.model.UserProfile;
     
     
    public class HotelBean {
       private List<Hotel> hotels;
       
     
    public HotelBean() {
    // KONSTRUKTOR
       
    hotels = loadHotels();   
          
    }
       
       private List<Hotel> loadHotels ()   
       {
          List<Hotel> result = new ArrayList<Hotel> ();
          for (int i=0; i<3; i++) {
             double x = i;
             Hotel tmpHotel = new Hotel("Horst"+i, "a", 51+x, 11);
             result.add(tmpHotel);         
          }
          return result;
       }
       
     
       public List<Hotel> getHotels() {
          return hotels;
       }
     
     
       public void setHotels(List<Hotel> hotels) {
          this.hotels = hotels;
       }
    }
    ]

    Code :
    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
    
    // hotel.xhtml
    // startseite
     
    ...
    <h:form>
    <h:outputText value="Alle Hotels"/>
    <rich:spacer height="30" />
    <rich:scrollableDataTable id="uTable" value="#{hotelBean.hotels}" var="hotel"
       frozenColCount="1" rowKeyVar="rkv"
       row="25" width="300px" height="300px" sortMode="single">
          <rich:column width="50">
             <f:facet name="header">
                   Hotelname
              </f:facet>
             <h:outputText value="#{hotel.name}" />
          </rich:column>
          <rich:column width="250">
             <f:facet name="header">
                   HotelAdresse
              </f:facet>
             <h:outputText value="#{hotel.adresse}" />
          </rich:column>
       </rich:scrollableDataTable>
    <rich:spacer height="30" />           
    <!--  <rich:datascroller for="uTable" maxPages="5"/> -->
    <rich:spacer height="30" />
       <!-- a4j:commandButton action="Hotels"
          style="height : 24px; width : 160px;" value="...nix">
       </a4j:commandButton-->
    </h:form>
    </ui:composition>
    Das Html-File der Map:
    Code :
    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    
    <!DOCTYPE html PUBLIC "-//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>Geocode zum Objekt - Google Maps</title>
        <body>
            <table border=0>
          <tr>
            <td>
               <div id="map" style="width: 550px; height: 450px"></div>
            </td>
            <td width = 150 valign="top" style="text-decoration: underline; color: #000000; background-color: #FFFF00">
               <!-- =========== side_bar with scroll bar ================= -->
               <div id="side_bar"  style="overflow:auto; height:450px;"></div>
               <!-- ===================================================== -->
     
            </td>
          </tr>
        </table>
        
        
        <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAgyj2jiEvZjK4ICXE0k_UoBTS1ddF3Hod__731IAUO9HDoH6hZhTVh8796481ikux9JC7OI_LtF6mLw"
          type="text/javascript"></script>
            
       
       
        <script type="text/javascript">
     
        //<![CDATA[
     
     
                    // Marker auf übergebenem Point erzeugen, Listener dranklatschen
                    // ohne seperate Funktion createmarker funktionieren die Listener nicht!
       
       
            var side_bar_html = "";
            var gmarkers = [];
            var htmls = [];
            var i = 0;
       
       
       
        function createMarker(point,html) {
            var marker = new GMarker(point);
            GEvent.addListener(marker, "click", function() {
              marker.openInfoWindowHtml(html);
            });
            gmarkers[i] = marker;
            htmls[i] = html;
            side_bar_html += '<a href="javascript:myclick(' + i + ')">' + html + '</a><br>';
            i++;
            return marker;
          }
        
        function myclick(i) {
            gmarkers[i].openInfoWindowHtml(htmls[i]);
          }
     
                   
                   
    // übergebene Geodaten aus URL extrahieren:    
        function getURLParam(strParamName){ // strParamName = je nach Aufruf der Fkt. "long" o. "lat"
              var strReturn = "";
              var strHref = window.location.href;
     
              if ( strHref.indexOf("?") > -1 ){
                var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase(); // =String nach dem ?
                var aQueryString = strQueryString.split("&");                           // Array nach & gesplittet
                for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
                  if (
            aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){  // "long=" o. "lat=" gefunden
                    var aParam = aQueryString[iParam].split("=");                   // Arrayfeld[i] nach = gesplittet
                    strReturn = aParam[1];                                          // Wert im neuen Arrayfeld[1] returned
                    break;
                  }
                }
              }
              return unescape(strReturn);
            }               
     
     
     
     
         function load(namensListe) {
        
            if (GBrowserIsCompatible()) {   
                var map = new GMap2(document.getElementById("map"));
                map.addControl(new GLargeMapControl());
                map.addControl(new GScaleControl());
                map.addControl(new GMapTypeControl());
                map.addControl(new GHierarchicalMapTypeControl());
                map.addControl(new GOverviewMapControl());
     
                for ( var i = 0; i <= (namensListe.length-1); i = i+1 ){
     
                    var longitude = "long"+String(i+1);
                    var latitude = "lat"+String(i+1); 
                    var name = "name"+String(i+1);
                    map.setCenter(new GLatLng(getURLParam(latitude),getURLParam(longitude)), 13);
                    var point = new GLatLng(getURLParam(latitude),getURLParam(longitude));
                    var marker = new GMarker(point);
                    var marker = createMarker(point,namensListe[i])
                    map.addOverlay(marker);
                } 
                 document.getElementById("side_bar").innerHTML = side_bar_html;
                  
            }
    }
     
     
     
     
        function load1() {  
     
     
            
            var aufrufString = window.location.href;
            var aufrufStringTeile = aufrufString.split("=").length; // Split nach "=" erzeugt ein Feld mehr als Split nach &
            var hotelZahl = (aufrufString.split("&").length/3);
            //  alert("Stringteile (aufrufStringTeile): " + aufrufStringTeile);
            //  alert("Hotelanzahl (hotelZahl): " + hotelZahl);
            var hotelNamen = new Array();
            for ( var i = 1; i <= hotelZahl; i = i+1 ){
                var tmp = "name"+String(i);
                hotelNamen[i-1] = getURLParam(tmp);
            }
            load(hotelNamen);
        }
                   
     // Point --> GMarker(Point)
     
        
        //]]>
        </script>
      </head>
      <body onload="load1()" onunload="GUnload()"><center>
        <div id="map" style="width: 500px; height: 300px" ></div></center>
      </body>
    </html>
     

  13. #13
    y0dA y0dA ist offline Mitglied Brokat
    Registriert seit
    Mar 2007
    Beiträge
    263
    Wir beide haben nun eh schon über ICQ miteinander das Problem besprochen - meld dich wenns noch Probs gibt.

    mfg
     

  14. #14
    schlumsch schlumsch ist offline Mitglied Silber
    Registriert seit
    Aug 2008
    Beiträge
    98
    Mmmmh, also ich bekommke da einen Fehler: "Cannot find tag library description for http://myfaces.apache.org/tomahawk"
     

  15. #15
    schlumsch schlumsch ist offline Mitglied Silber
    Registriert seit
    Aug 2008
    Beiträge
    98
    Mmmmh 2: ...*g* ...

    Also nun habe ich mal einfach mein komplettes Portlet kopiert und in ein neues eingefügt und der Fehler ist weg... *g*... dafür hab ich aber auch gleich eun neuerliches Problem...

    14:49:39,958 ERROR [STDERR] 14.08.2008 14:49:39 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
    INFO: Added Library from: jar:file:/home/jboss/portal/jboss-portal-2.6.5.SP1/server/default/./deploy/jboss-portal.sar/portal-identity.sar/portal-identity.war/WEB-INF/lib2/jsf-facelets.jar!/META-INF/jsf-core.taglib.xml
    14:49:39,983 ERROR [STDERR] 14.08.2008 14:49:39 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
    INFO: Added Library from: jar:file:/home/jboss/portal/jboss-portal-2.6.5.SP1/server/default/./deploy/jboss-portal.sar/portal-identity.sar/portal-identity.war/WEB-INF/lib2/jsf-facelets.jar!/META-INF/jstl-fn.taglib.xml
    14:49:40,057 ERROR [STDERR] 14.08.2008 14:49:40 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
    INFO: Added Library from: jar:file:/home/jboss/portal/jboss-portal-2.6.5.SP1/server/default/./deploy/jboss-portal.sar/portal-identity.sar/portal-identity.war/WEB-INF/lib2/jsf-facelets.jar!/META-INF/jstl-core.taglib.xml
    14:49:40,161 ERROR [STDERR] 14.08.2008 14:49:40 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
    INFO: Added Library from: jar:file:/home/jboss/portal/jboss-portal-2.6.5.SP1/server/default/./deploy/jboss-portal.sar/portal-identity.sar/portal-identity.war/WEB-INF/lib2/jsf-facelets.jar!/META-INF/jsf-html.taglib.xml
    14:49:40,356 ERROR [STDERR] 14.08.2008 14:49:40 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
    INFO: Added Library from: jar:file:/home/jboss/portal/jboss-portal-2.6.5.SP1/server/default/./deploy/jboss-portal.sar/portal-identity.sar/portal-identity.war/WEB-INF/lib2/jsf-facelets.jar!/META-INF/jsf-ui.taglib.xml
    14:49:40,383 ERROR [STDERR] 14.08.2008 14:49:40 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
    INFO: Added Library from: jar:file:/home/jboss/portal/jboss-portal-2.6.5.SP1/server/default/./deploy/jboss-portal.sar/portal-identity.sar/portal-identity.war/WEB-INF/lib2/portal-faces-lib.jar!/META-INF/portal.taglib.xml
    14:49:41,938 INFO [MyfacesConfig] No context init parameter 'org.apache.myfaces.READONLY_AS_DISABLED_FOR_SELECTS' found, using default value true
    14:49:41,938 INFO [MyfacesConfig] Tomahawk jar not available. Autoscrolling, DetectJavascript, AddResourceClass and CheckExtensionsFilter are disabled now.
    14:49:41,938 INFO [MyfacesConfig] Starting up Tomahawk on the RI-JSF-Implementation.
    14:49:41,938 INFO [MyfacesConfig] Starting up Tomahawk on the MyFaces-JSF-Implementation
    14:49:41,938 ERROR [MyfacesConfig] Both MyFaces and the RI are on your classpath. Please make sure to use only one of the two JSF-implementations.
    14:49:49,080 WARN [SkinFactoryImpl] Init parameter for a skin name changed to org.richfaces.SKIN
     

Ähnliche Themen

  1. Frage zu Google Maps
    Von Primus852 im Forum Javascript & Ajax
    Antworten: 8
    Letzter Beitrag: 05.12.10, 00:11
  2. Google Maps "ReverseGeocoding"-Bsp. auf mehrere Maps anwenden
    Von jbender im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 30.03.10, 21:06
  3. Google Maps api
    Von Aurora-One im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 01.02.10, 21:15
  4. Google Maps API
    Von walle_89 im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 08.09.09, 10:15
  5. Google Maps
    Von weissi im Forum PHP
    Antworten: 12
    Letzter Beitrag: 03.02.09, 08:07