J'ai une question. Comment puis-je améliorer la vitesse d'obtention des valeurs dans ce script ci-dessous? Mon script définit 170 marqueurs, plus tard obtient les valeurs lng et lat des limites de la carte lorsque la carte est en changement (événement inactif) et envoie ces valeurs dans le champ masqué. Pour les marqueurs 10-20-30, ces valeurs s'affichent très rapidement, mais pour +100 marqueurs, cette fonction est très lente, et il faut 5-6 secondes pour afficher toutes les valeurs lorsque la carte change. J'utilise le marqueur clusterer, mais il n'y a pas d'effet sur la vitesse. Comment améliorer cela? salutations!Les valeurs de hiddenfield sont très lentes
(..) // map options
var map = new google.maps.Map(document.getElementById("mapka"), mapOptions);
var markers = [];
var lngstring = <%=lngstring %>
var latstring = <%=latstring %>
//alert(latstring);
//alert(lngstring);
var arraylat = latstring.split("#");
var arraylng = lngstring.split("#");
for (var i = 0; i < arraylng.length-1; i++) {
var marker = new google.maps.Marker({
position: new google.maps.LatLng(arraylng[i], arraylat[i])
});
markers.push(marker);
}
var markerCluster = new MarkerClusterer(map, markers);
google.maps.event.addListener(map, 'idle', function() {
var bounds = map.getBounds();
var nelat = bounds.getNorthEast().lat();
var nelng = bounds.getNorthEast().lng();
var swlat = bounds.getSouthWest().lat();
var swlng = bounds.getSouthWest().lng();
var c1 = map.getCenter().lat();
var c2 = map.getCenter().lng();
var zoom1 = map.getZoom();
document.getElementById("<%=hfNelat.ClientID%>").value = nelat;
document.getElementById("<%=hfNelng.ClientID%>").value = nelng;
document.getElementById("<%=hfSwlat.ClientID%>").value = swlat;
document.getElementById("<%=hfSwlng.ClientID%>").value = swlng;
document.getElementById("<%=UpdateButton1.ClientID %>").click();
});
Code "derrière":
protected void UpdateButton_Click(object sender, EventArgs e)
{
lNelat.Text = hfNelat.Value;
lNelng.Text = hfNelng.Value;
lSwlat.Text = hfSwlat.Value;
lSwlng.Text = hfSwlng.Value;
}
Je dois charger une seule fois les marqueurs de la base de données, les dessiner tous sur la carte et c'est tout avec des marqueurs - autre travail avec des valeurs de limites, et j'ai besoin de ces valeurs aussi rapidement que possible (2-3 secondes d'attente est acceptable bien sûr). AJAX va améliorer ce temps d'attente? Honnêtement, je n'utilise jamais AJAX et je ne sais pas comment l'introduire sur mon script. Pourriez-vous nous en dire plus sur cette solution avec des marqueurs de chargement utilisant ajax? – whoah
Avez-vous lu la page de Mike Williams? Si cela n'a pas aidé, essayez [ceci] (https://www.google.com/search?btnG=1&pws=0&q=AJAX+Asynchronous+Javascript+and+Xml), mais cela ne réduira pas le temps obtenir les résultats, juste le temps d'afficher la carte. Le problème est que mettre toutes les informations de marqueur de manière statique dans votre page augmente la taille de votre page et donc le temps qu'il faut pour rendre. – geocodezip