Bonjour à tous,
Comme indiqué dans un post précédent à propos de cet excellent mod, je me suis penché sur le sujet et j'y ai apporté quelques petites modifications ma fois toutes simples mais qui je crois peuvent aider les personnes qui ne souhaitent pas passer des heures à chercher comment faire.
Toutes les modifications résident dans le fichier …\template\yoga\gmap.tpl
1) Activation de la dernière version de l’API
Trouvez la ligne
<script src=http://maps.google.com/maps?file=api&v=2&key={GOOGLE_KEY}
et ajoutez .x après v=2 ce qui donne
<script src=http://maps.google.com/maps?file=api&v=2.x&key={GOOGLE_KEY}
2) activation du zoom par double clic sur la carte
Trouvez la ligne
map.setCenter(world, 1);
dans la fonction : function load() {
et ajoutez à la suite
map.enableDoubleClickZoom();
3) activation du zoom continu plus agréable et éviter les débordement de la carte
ajoutez à la suite de la précédente ligne
map.enableContinuousZoom();
map.getContainer().style.overflow="hidden";
4) Prévenir le scroll vertical de la page
J’ai remarqué en regardant les utilisateurs se servir du mod qu’ils essayaient de zoomer en utilisant la molette de la sourie. Etant donnée que cette fonction n’est pas active, cela entraînait le scroll vertical de toute la page, résultat très désagréable. En rajoutant quelques petites lignes de code en on peut empêcher cela : lorsque la souris est sur la carte, la fonction de la molette est désactivée :
Juste après les précédentes lignes ajoutées dans le point 3, mettre :
///prevent page scroll
function wheelevent(e)
{
if (!e){
e = window.event
}
if (e.preventDefault){
e.preventDefault()
}
e.returnValue = false;
}
GEvent.addDomListener(map.getContainer(), "DOMMouseScroll", wheelevent);
map.getContainer().onmousewheel = wheelevent;
5) Zoom auto arrière
Autre point intéressant, lorsque le soft détecte qu’il n’y a pas d’image disponible dans une zone pour un zoom donné, l’API zoom automatiquement en arrière jusqu’à revenir à un point ou l’image est disponible
Pour cela, encore après on ajoute :
/// Automatic zoomOut from 'sorry..' tiles
function esasZoomOut(){
var paragraphs = map.getContainer().getElementsByTagName('p').length;
if(paragraphs > 4){
map.zoomOut();
}}
interval = setInterval("esasZoomOut()",500);
6) Ajustement automatique
Voila sinon le dernier point que j’ai modifié se trouve dans la ligne qui indique ou placer le cadre de l’API.
Voici ma modif :
<div id="map" style="width:95%; height:510px"></div>
<BR>
le <BR> est la pour ajouter un espace en bas du cadre de l’API afin de rendre le tout plus jolie à voir : les cadres sont bien délimité. Je n’ai par contre pas trouvé comment faire pour avoir une hauteur variable de la même manière que pour la largeur. Si on met un pourcentage, la carte disparaît.
Tout cela n’enlève en rien l’efficacité de cet excellent mod et j’en remercie encore son auteur : Hugo.
Je vais peut être mettre une icône clignotante car je trouve que le petit globe dans le coin n’est pas très visible parmi les autres icônes.
D’ici les prochaines modifs, bonne soirée ou journée à tous.
PierreD
Hors ligne
merci pour tte ces modifs, si tu en as d'autre n'hesite pas ;-)
moi je patine tjs un peu pour l'utilisation de ce mod... help !
EDIT : ok ca roule maintenant. ;-)
Dernière modification par sakkhho (2007-05-01 14:11:46)
Hors ligne
une question que je me pose :
- est ce qu'il est possible d'envisagé un affichage different suivant le niveau de zoom.
je m'explique.
si j'ai par exple plein de photos de paris avec differents quartiers monuement etc... et que j'aimerai indexé chaque photos sur gmap.
ca va etre le gros bordel qd le zoom de la carte est à sur world ou europe par exple.
par contre si pour un certain niveau de zoom je n'affiche qu'un marqeur (celui de la catégorie par exple) et que pour un niveau de zoom plus important j'afffiche tous les marqueurs ca serait bcp plus sympa...
en resumé :
affichage des marqueurs categories pour zoom < une certaines valeurs de zoom, x
affichage marqueurs photos pour zoom > x.
est ce possible ?
merci
Hors ligne
Salut Sakkhho
franchement avec google map ! on peut tout faire il suffit qu on si met ... ;o)
par contre actuellement c'est Hugo qui s'occupe de tout ca !
il faudrai donc re lister tout ce que l'on souhaite pour une nouvelle version de ce MOD
donc ca peut etre une occasion de repartager nos visions de ce MOD ensemble
Hors ligne
je viens de discuter avec hugo et a priori pas possible de differencier l'affichage suivant le niveau de zoom...
mais je veux bien rediscuter du mod avec toi !
est ce qu'il vaudrait mieux pas que tu installe la derniere version pour que l'on parle de la meme chose...
++
Hors ligne
1er idée (besoin)
possibilite sur la carte de dessiner un rectangle par exple en maintenant le clique gauche de la souris, qui donnera la taille de la carte et donc un niveau de zoom.
c'est assez pratique quand on veut zoomer sur un zone precise assez rapidement.
suis-je clair ?
Hors ligne
Désolé mais je preéfére garder ma version qui est différente, c est Hugo qui maitrise ca version et qui décide des modifs
et moi j ai fais des choix differents du coup je ne veux pas prendre celle ci
sinon on peut discuter sans probleme des evolutions ;o)
Hors ligne
salut je lance un poste dédié a l'evolution de ce MOD
http://forum.phpwebgallery.net/viewtopic.php?id=10606
a+
Hors ligne
sakkhho a écrit:
je viens de discuter avec hugo et a priori pas possible de differencier l'affichage suivant le niveau de zoom...
mais je veux bien rediscuter du mod avec toi !
est ce qu'il vaudrait mieux pas que tu installe la derniere version pour que l'on parle de la meme chose...
++
GoolgeMap semble permettre cette fonction:
http://www.google.com/apis/maps/documen … r_Examples
Maintenant integrer ca avec PWG c'est une autre histoire....
c est pour ca que je disais qu on peut tout faire !!!
mais apres il y a pas mal de dev a fournir ;o)
merci a tous de donner vos idées sur le poste cité plus haut
Hors ligne
de maniere generale j'ai du mal a faire des modif de l'api.
j'essai de mettre la focntion qui active le zoom avec la roulette de la souris, j'insere donc
map.scrollWheelZoomEnabled();
resultat : rien,nada ....
Dernière modification par sakkhho (2007-05-04 10:26:44)
Hors ligne