页面加载后加载标记映射

时间:2012-09-12 22:06:39

标签: google-maps google-maps-api-3

我要做的是,在页面上加载谷歌地图,然后逐个加载我的标记,以便用户看到它们变得可用。我是故意这样做的,因为我想显示我的网站在一个城市的覆盖范围。现在我已经尝试在页面加载之前加载它们,但这需要很长时间! (我有600多个标记并且正在增长)

我有基本知识来显示地图,加载标记,但这需要一种不同的方法,我需要一些帮助。如果任何人可以指向我的教程或一些参考页面,以帮助我开始将是一个巨大的帮助。

3 个答案:

答案 0 :(得分:1)

我不确定你的意思是需要多长时间。谁?要渲染的页面?地图渲染。

从UI的角度来看,你应该尝试一个群集标记id,它们是关闭的(有一个v3 api的演示)

答案 1 :(得分:1)

你的意思是文档中的"too many markers" page吗?

答案 2 :(得分:1)

一次加载一些标记并调用setTimeout,例如:

//Global variable
var markersData = [];

markersData[0] = {
    "lat": 45.0,
    "lon": -91.0,
    "name":"marker 0"
};
markersData[1] = {
    "lat": 45.0,
    "lon": -92.0,
    "name":"marker 1"
};
//...etc



// Load 10 markers every 100 miliseconds

function load_10_markers(){
    for (var n = 0 ; n < 10 ; n++) {
        var markerData = markersData.shift();
        if(markerData){
            var marker = new google.maps.Marker({
                position: new google.maps.LatLng(markerData.lat, markerData.lon),
                title: markerData.name,
                map: map
            });
        }

    }
    if(markersData.length){
        window.setTimeout("load_10_markers()",100);
    }

}

load_10_markers();