【问题标题】:Retain Map Object: Adding multiple maps to a single page in multiple Divs保留地图对象:将多个地图添加到多个 div 中的单个页面
【发布时间】:2013-04-26 07:59:22
【问题描述】:

我正在尝试使用 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 访问。

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

【问题讨论】:

    标签: javascript jquery jquery-ui google-maps google-maps-api-3


    【解决方案1】:

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

    声明一个全局变量:

    var map_object = {}
    

    那么在设置地图的时候:

    var index=1;
    map_object["map" + index]=new google.maps.......
    

    【讨论】:

    • 谢谢。!!正是我想要的。!
    猜你喜欢
    • 1970-01-01
    • 2020-10-10
    • 2013-03-14
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    • 2016-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多