0

我正在尝试使用 Jquery 对话框和 google Maps API V3 在单个页面上添加多个地图

这是我的jQuery代码:

function liveTrack_setMap(accountID, deviceID, displayNameOfVehicle) {
    var divtoBeAdded = '<div class="lt_outerDivClass" id="lt_dialog' + deviceID + '" title="Live Track: ' + displayNameOfVehicle + '" > <input type="hidden" /><div class="lt_map" style="height:200px;width;200px;" id="lt_map' + deviceID + '"></div></div>';
    if ($('#lt_dialog' + deviceID).length == 0) {
        $('body').append(divtoBeAdded);
        alert('new Div Added');
    }
    if ($('#lt_dialog' + deviceID).length != 0) {
        $('#lt_dialog' + deviceID).dialog({
            autoOpen: true,
            modal: false,
            resizable: false,
            draggable: true,
            close: function() {
                $(this).dialog('destroy').remove();
            }
        });
    }
    if ($('#lt_map' + deviceID).length != 0) {
        var mapOptions = {
            center: new google.maps.LatLng(-34.397, 150.644),
            zoom: 8,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("lt_map" + deviceID),
            mapOptions);
    }
}

将地图应用到 div 后,我将使用它每 10 秒更新一次地图上车辆的位置。但问题是,

1)div的数量不固定

2) 地图对象不能是全局变量,因为它们可以是 n 个地图对象。

3)地图对象不能通过其div ID访问。

我应该怎么做?有任何想法吗?请帮忙。!

4

1 回答 1

0

你为什么不把它保存在这样的对象中

声明一个全局变量:

var map_object = {}

然后在设置地图时:

var index=1;
map_object["map" + index]=new google.maps.......
于 2013-05-02T13:11:36.100 回答