JavaScript et Google Maps
Bonjour,
j'ai un souci au niveau de javascript et google maps, c'est à dire que j'ai réussi à afficher mes markers sur la carte avec leurs infos bulles (apres m'etre arraché les cheveux) mais comme il y en a trop j'aimerai en faire apparaitre qu'un certain nombre suivant le niveau de zoom, par exemple 10% des markers au niveau 4 puis 20% au niveau 5...
j'ai bien consulté la doc google ici :
http://www.google.com/apis/maps/docu...anager_Weather
qui prend comme exemple des icones de meteo mais j'arrive pas du tout à l'adapter à mon cas, voici mon script qui gere tout :
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
| <script type="text/javascript">
//<![CDATA[
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(47.8, 3.4), 4);
var icon = new GIcon();
icon.image = "http://labs.google.com/ridefinder/images/mm_20_green.png";
icon.shadow = "http://labs.google.com/ridefinder/images/mm_2_shadow.png";
icon.iconSize = new GSize(12, 20);
icon.shadowSize = new GSize(22, 20);
icon.iconAnchor = new GPoint(6, 20);
icon.infoWindowAnchor = new GPoint(5, 1);
function createMarker(point, marker) {
var marker;
var idm = marker.getAttribute("idm");
var username = marker.getAttribute("username");
var location = marker.getAttribute("location");
var marker = new GMarker(point, icon);
username = username.replace("<", "<");
username = username.replace(">", ">");
username = username.replace('"', """);
location = location.replace("<", "<");
location = location.replace(">", ">");
location = location.replace('"', """);
var html = "<a href=\"user.php?idm="+idm+"\" style=\"text-decoration:none;\"><font size=2 color=#004080 face=arial><b>"+username+"</b></font></a><br><font size=2 color=black face=arial><b>Ville :</b> "+location+"</font>";
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
return marker;
}
var request = GXmlHttp.create();
request.open("GET", "markers.php", true);
request.onreadystatechange = function() {
if (request.readyState == 4) {
var xmlDoc = request.responseXML;
var markers = xmlDoc.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++)
{
var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng")));
var marker = createMarker(point, markers[i])
map.addOverlay(marker);
} // fin du for
} // fin du ready
} // fin du fonction
request.send(null);
}
}
//]]>
</script> |
donc je pense que c'est pas grand chose à modifier mais je bloque completement ! j'ai bien compris qu'il fallait utiliser GMarkerManager mais je sais pas du tout comment faire
merci d'avance à ceux qui voudront bien m'aider