Posez votre question Signaler

Google map markers

G4uthier 92Messages postés 2 décembre 2007Date d'inscription - Dernière réponse le 4 juin 2008 à 20:13
Bonjour,
Bonjour,
Lorsque j'appel "usePointFromPostcode(postcode,createMarker);" et bien dans la fonction "usePointFromPostcode(postcode,callbackFunction)" ,ma callbackfonction (createMarker) est appelé lorsque ma boucle qui parcours mon XML est fini. et c'est pour
ça que je me retrouve avec mon dernier enregistrement de ma table dans mon marqueur. Il crée donc tous les marqueur en fonction du dernier enregistrement de ma table...
Une idée, pourquoi il me fait ca?
[code]
var map;
var localSearch = new GlocalSearch();
var address2;
var address3;
var postcode;
var img;
var icon = new GIcon();
icon.image = "http://images.google.com/mapfiles/marker.png";
icon.iconSize = new GSize(20, 30);
icon.iconAnchor = new GPoint(6, 20);
icon.infoWindowAnchor = new GPoint(10, 34);
function usePointFromPostcode(postcode,callbackFunction) {
localSearch.setSearchCompleteCallback(null,
function() {
if (localSearch.results[0])
{
var resultLat = localSearch.results[0].lat;
var resultLng = localSearch.results[0].lng;
var point = new GLatLng(resultLat,resultLng);
callbackFunction(point, address2, address3, postcode, img);
}else{
alert("Postcode not found!");
}
});
localSearch.execute(postcode + ", UK");
}
//function placeMarkerAtPoint(point)
//{
// var marker = new GMarker(point,icon);
// map.addOverlay(marker);
//}
function setCenterToPoint(point)
{
map.setCenter(point, 15);
var marker = new GMarker(point,icon);
map.addOverlay(marker);
map.openInfoWindow(map.getCenter(),"<img src='http://localhost/Smart/images/icon_map.gif' />");
}
function showPointLatLng(point)
{
var Latitude = point.lat();
var Longitude = point.lng();
}
function mapLoad() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(54.622978,-2.592773), 5, G_NORMAL_MAP);
}
}
GDownloadUrl("http://localhost/Smart/XmlGmap.php",function(data) {
var xml = GXml.parse(data);
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
address2 = markers[i].getAttribute("address2");
address3 = markers[i].getAttribute("address3");
postcode = markers[i].getAttribute("postcode");
img = markers[i].getAttribute("img1");
alert(address2);
usePointFromPostcode(postcode,createMarker);
//alert("valeur lon: "+Longitude);
//alert("valeur la: "+Latitude);
//var point = new GLatLng(Latitude,Longitude);
//var marker = createMarker(point, address2, address3, postcode,img);
}
});
function createMarker(point, address2, address3, postcode,img) {
var marker = new GMarker(point, icon);
alert(address2);
//alert(address3);
//alert(img);
//alert(postcode);
var html = "<div id='mapImage'><img src='http://localhost/Smart/"+img+"' width='100' height='80'/></div><div><b>" + address2 + "</b> " + address3
"</div>";
GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html);
});
map.addOverlay(marker);
//return marker;
}
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
}
}
}
function addUnLoadEvent(func) {
var oldonunload = window.onunload;
if (typeof window.onunload != 'function') {
window.onunload = func;
} else {
window.onunload = function() {
oldonunload();
func();
}
}
}
addLoadEvent(mapLoad);
addUnLoadEvent(GUnload);
Lire la suite 

Google map markers »

1 réponses
Réponse
+1
moins plus
up :p
Ajouter un commentaire
Ce document intitulé « google map markers » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook