Probleme google maps api

eda
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 14
Inscription: 29 Jan 2008

Probleme google maps api

Message le Ven Mar 20, 2009 16:28

Bonjour, je débute sur les API googlemap et suis bloqué.
En fait je cherche à placer sur une carte des marqueurs récupérés dans une base mysql.
Certains ont seulement une adresse donc 'geocoder.getLatLng', pas de souci. Mais d'autres point ont en plus des coordonnées (lat, lng).
Pour un souci de rapidité, je souhaiterais qu'il se base sur (lat, lng) pour ceux qui en ont et (adresse) pour ceux qui n'en n'ont pas. J'espère que c'est pas trop confu. Voici mon code et merci de votre aide.

Code: Tout sélectionner
function load() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map"));
geocoder = new GClientGeocoder();

function createMarkersEtbl(i) {
var coordonees = etbl[i][4];
if (coordonees) {
var point = new GLatLng(coordonees);
alert(point);
var marker=(new GMarker(point));
batchEtbl.push(marker);
var infoTabs = [
new GInfoWindowTab("Adresse", ('<span class=a-resultats-menu><?echo $texte_resultats["text23"] ?>'+etbl[i][3]+'<? echo "&nbsp;" ?>'+etbl[i][1]+'<? echo "<br><br><\/span><a href='+etbl[i][2]+' class=resultats-menu>" ?>'+etbl[i][1]+'<\/a>')),
];
GEvent.addListener(marker, "mouseover", function() {
marker.openInfoWindowTabsHtml(infoTabs);
});
GEvent.addListener(marker, "click", function() {
window.location.href = etbl[i][2];
});
if (i+1<etbl.length) {
createMarkersEtbl(i+1);
} else {
mgr.addMarkers(batchEtbl, 5);
mgr.refresh();
}
} else {
if (geocoder) {
geocoder.getLatLng(etbl[i][0], function(point) {
if (point) {
var marker=new GMarker(point);
batchEtbl.push(marker);
var infoTabs = [
new GInfoWindowTab("Adresse", ('<span class=a-resultats-menu><?echo $texte_resultats["text23"] ?>'+etbl[i][3]+'<? echo "&nbsp;" ?>'+etbl[i][1]+'<? echo "<br><br><\/span><a href='+etbl[i][2]+' class=resultats-menu>" ?>'+etbl[i][1]+'<\/a>')),
];
GEvent.addListener(marker, "mouseover", function() {
marker.openInfoWindowTabsHtml(infoTabs);
});
GEvent.addListener(marker, "click", function() {
window.location.href = etbl[i][2];
});
}
if (i+1<etbl.length) {
createMarkersEtbl(i+1);
} else {
mgr.addMarkers(batchEtbl, 5);
mgr.refresh();
}
});
}
}
}

map.setCenter(new GLatLng(48.9, 2.3), 5);
map.addControl(new GMapTypeControl());
map.addControl(new GSmallMapControl());
map.enableScrollWheelZoom();
map.addControl(new GOverviewMapControl());
map.addControl(new GScaleControl());
centrecarte(address);
createMarkersEtbl(0);//lancement de la fonction permettant de créer les markers des pays
mgr = new GMarkerManager(map);//on créer un marker manager//création d'un manager de marker
}
}

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités