$ .goMap插件 - 获取标记功能

时间:2011-03-28 16:28:50

标签: javascript jquery google-maps

我遇到了jquery的goMap插件问题。我想获取地图上的所有标记,但是,在调用getMarkers()函数时,它会返回一个空数组。

我猜这与范围有关?

我通过ajax调用查询数据库来添加标记。

$("#canvas").goMap({
    latitude: 44.230065,
    longitude: -76.50000,
    zoom: 14,
    maptype: 'ROADMAP'
});

load_markers();

function load_markers(query_url) {
    if (query_url == undefined) {
        query_url = '/posts/get_markers';
    }

    $.getJSON(query_url, function(data) {
         $.each(data, function(pair) {
            var id = data[pair]['posts']['id'];
            $.goMap.createMarker({
                latitude: data[pair]['posts']['lat'],
                longitude: data[pair]['posts']['lng'],
                draggable: false,
                id: id,
                html: {
                    ajax: "posts/ajax_show/"+id,
                    content: 'loading...',
                    popup: false
                }
            });
        });
    });
}

console.log(($.goMap.getMarkers()));

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试在getJSON调用的成功处理程序中打印它,否则你不知道你是否还有数据。如果我正确的话,更多的是时间问题而不是范围。

$.getJSON(query_url, function(data) {
         $.each(data, function(pair) {
            var id = data[pair]['posts']['id'];
            $.goMap.createMarker({
                latitude: data[pair]['posts']['lat'],
                longitude: data[pair]['posts']['lng'],
                draggable: false,
                id: id,
                html: {
                    ajax: "posts/ajax_show/"+id,
                    content: 'loading...',
                    popup: false
                }
            });
        });
        console.log(($.goMap.getMarkers()));
    });