2010-03-02 6 views
0

J'essaie d'implémenter google map api dans une de mes pages web générée par le document jsp, et j'ai du mal à le faire fonctionner. J'ai trouvé une bibliothèque de tags jsp par www.lamatek.com/GoogleMaps, mais cela ne semble pas fonctionner (je veux dire que même les exemples sur leur site web ne fonctionnent pas)Google map in jsp document

Quelqu'un a-t-il déjà travaillé sur google map dans jsp? document? Je peux vraiment utiliser un peu d'aide ou de conseil. (Il semble que jsp docuemnt et javascript ne s'entendent pas)

p.s Je peux obtenir statique google map work, mais ce n'est pas mon client veut.

Répondre

0

Ce n'est vraiment pas un problème JSP. Le problème se situe ailleurs. Peut-être que c'est juste votre propre ignorance de JSP. Vous devez réaliser que JSP n'est rien de moins qu'une technologie de vue côté serveur qui fournit un modèle pour écrire du HTML/CSS/JS. Il est parfaitement possible d'écrire "plain vanila" HTML/CSS/JS comme d'habitude un fichier JSP. Les taglibs ne sont pas requis sauf si vous voulez contrôler dynamiquement le flux de la page ou la sortie, ou si vous souhaitez remplacer les blocs de code dupliqués/répétés par une seule petite étiquette. Les données de backend sont accessibles en utilisant le langage d'expression.

(Il semble que jsp docuemnt et javascript Il suffit de ne pas le long)

Si votre problème réel est la « communication » entre JSP et JS, alors vous devez réaliser une fois de plus que Java/JSP tourne essentiellement sur la machine serveur, produit simplement une page HTML (avec CSS/JS à l'intérieur) et l'envoie au client. JS à son tour, ne fonctionne que sur la machine client et ne voit rien de JSP. Vous pouvez utiliser JSP pour générer dynamiquement des fonctions/variables JS. Vous pouvez utiliser JS pour lancer (a) des requêtes HTTP synchrones vers le serveur, ce qui permet d'exécuter du code Java. Pour obtenir plus d'idées et d'exemples, vous pouvez trouver this article utile.

p.s Je peux obtenir le travail statique de google map, mais ce n'est pas mon client veut.

Pour commencer, renommer simplement ce fichier .html statique dans un fichier .jsp dynamique et il continue de fonctionner;) Vous n'avez pas besoin taglibs spécifiques pour elle. Si vous souhaitez générer/rendre dynamiquement HTML/CSS/JS, utilisez des balises de contrôle de flux comme JSTL core. Si vous souhaitez accéder dynamiquement aux données backend, utilisez EL.

0

J'ai réussi à faire fonctionner la librairie lamatek tag mais il y avait un bug que je devais corriger d'abord, vous pouvez télécharger la source, corriger le bug (voir ci-dessous) et créer le fichier googlemaps.jar.

L'équipe Google Maps semblent avoir changé la carte des constantes de type:

ancien/nouveau
G_HYBRID_TYPE/G_HYBRID_MAP
G_SATELLITE_TYPE/G_SATELLITE_MAP
G_MAP_TYPE/G_NORMAL_MAP

Dans le fichier com/lamatek/tags/google/GoogleMapTag.java changez les lignes 928, 931 et 934 en remplaçant les constantes mentionnées ci-dessus.

//com.lamatek.tags.google.GoogleMapTag lines 927 - 935 
if (type.equalsIgnoreCase("hybrid")) { 
    out.println("\t\t" + id + ".setMapType(G_HYBRID_MAP);"); 
} 
else if (type.equalsIgnoreCase("satellite")) { 
    out.println("\t\t" + id + ".setMapType(G_SATELLITE_MAP);"); 
} 
else { 
    out.println("\t\t" + id + ".setMapType(G_NORMAL_MAP);"); 
} 

Cela devrait le faire!

Selon la demande, here is the jar file. (construit avec JDK 1.6)

/Björn Darri