4

Google マップがあり、3 つのタブがあります。理想的には 3 つのタブすべてで同じマップを使用したいのですが、ID を使用してのみマップを作成できるようです。

map = new google.maps.Map(document.getElementById('map_canvas'),
    mapOptions);

この場合、3 つの別個の ID を持つ 3 つの別個のマップを作成する必要がありますか? 「クラス」だけを使用して 3 つの Google マップを作成し、同じマップを再利用できますか?

4

2 に答える 2

2

jQueryのオブジェクトを使用して、新しいマップを作成できます

var mapClass = $('.map_canvas'); and var map = new google.maps.Map(mapClass[0],mapOptions);

私のjsfiddleを見て、私に知らせてくださいhttp://jsfiddle.net/davidchase03/fDFMz/

于 2013-02-16T02:38:21.917 に答える
0

以下の nebula_gdCN() 関数を使用して、クラス名で識別される要素の配列を取得できます。次に、タブごとに新しいマップを作成し、各マップ オブジェクトを個別の変数に格納できます。

<div class="my_tabs" style="width: 550px; height: 450px"></div>
<div class="my_tabs" style="width: 550px; height: 450px"></div>
<div class="my_tabs" style="width: 550px; height: 450px"></div>

<script>
var tabs = nebula_gdCN('my_tabs') ;
map1 = new google.maps.Map(tabs[0], mapOptions);
map2 = new google.maps.Map(tabs[1], mapOptions);
map3 = new google.maps.Map(tabs[2], mapOptions);

//Include these two functions
nebula_gdCN = function(q){
    var classArr = Array();
    for(var i=0;i<document.getElementsByTagName('*').length;i++){
        if( nebula_gdC(i).className == q){
            classArr.push(nebula_gdC(i)) ;
        }
    }
    return classArr ;
}
nebula_gdC = function(i,b){
    var b = b || '*' ;
    return document.getElementsByTagName(b)[i] ;
}
</script>
于 2013-02-15T18:09:36.420 に答える