document.getElementById用于jQuery中的变量元素

时间:2012-09-28 08:04:39

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

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

'#map'是div的ID,谷歌地图给了我自定义地图,边框围绕我在对象中给出的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的变量,所以你能帮我把document.getElementById('map')改成像document.getElementById( div的名字我不知道知道atm ),所以当我想把它用于其他名字的div时我不需要改变ma插件吗?

Greetz ur Basti890

1 个答案:

答案 0 :(得分:1)

使用this代替document.getElementById('map')

return this.each(function() {
    map = new google.maps.Map(this, {'mapTypeId' : google.maps.MapTypeId.TERRAIN});
    // ...