質問があります。以下のこのスクリプトで値を取得する速度を向上させるにはどうすればよいですか?私のスクリプトは170個のマーカーを設定し、後でマップが変更されたとき(アイドルイベント)にマップ境界のlngとlatの値を取得し、この値をhiddenfieldに送信します。10-20-30マーカーの場合、この値は非常に速く表示されますが、+ 100マーカーの場合、この関数は非常に遅く、マップが変更されたときにすべての値を表示するのに5〜6秒かかります。私はマーカーを使用していますクラスタラーですが、速度に影響はありません。これを改善する方法は?ご挨拶!
(..) // 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();
});
「背後」のコード:
protected void UpdateButton_Click(object sender, EventArgs e)
{
lNelat.Text = hfNelat.Value;
lNelng.Text = hfNelng.Value;
lSwlat.Text = hfSwlat.Value;
lSwlng.Text = hfSwlng.Value;
}