1

首先大家好,你们的社区很棒,我经常在这里找到解决我问题的完美解决方案。但是现在我似乎有一个问题,这可能是新的(我找不到任何解决方案)是有一个 jQuery 插件女巫在我调用的对象中获取 4 个变量,将 Geocoords 作为值(50.3675658° 或 -23.73456°)我的功能$('#map').rectangle(qsparam);

'#map' 是 div 的 ID,其中 Google-maps 为我提供了我的自定义地图,其边框围绕着我在对象中给出的 2 个点。

这是我的插件:

(function($) {
    $.fn.rectangle = function(param) {
        var map, rectangle, coords = param || {};
        var southwest = new google.maps.LatLng(coords.s || -10, coords.w || -10);
        var northeast = new google.maps.LatLng(coords.n || 10, coords.e || 10);
        return this.each(function() {
            map = new google.maps.Map(document.getElementById('map'), {
                'mapTypeId' : google.maps.MapTypeId.TERRAIN
            })
            var bounds = new google.maps.LatLngBounds(southwest, northeast);
            map.fitBounds(bounds);
            rectangle = new google.maps.Rectangle({
                map : map,
                strokeColor : "#008DCF",
                strokeOpacity : 0.6,
                strokeWeight : 4,
                fillColor : "#B8B23B",
                fillOpacity : 0.18,
                Bounds : bounds
            });
        });
    }
})(jQuery);

但我想为其他 div 保留 Plugin 变量,所以你能帮我将 document.getElementById('map') 更改为 document.getElementById(我不知道 atm 的 div 的名称),这样当我想将它用于具有其他名称的 div 时,我不需要更改 ma 插件?

问候你的 Basti890

4

1 回答 1

1

使用this而不是document.getElementById('map').

return this.each(function() {
    map = new google.maps.Map(this, {'mapTypeId' : google.maps.MapTypeId.TERRAIN});
    // ...
于 2012-09-28T08:08:49.713 回答