0

Googleマップ用の10個のコンテナを含むhtmlテーブルがあります

以下は、マップ オブジェクトを作成する js 関数です。

関数は、地図の緯度と経度 + 地図を挿入する div 要素を取ります。

      function GetMap(lat,lng,number) 
      {
        var show_in=document.getElementsByClassName("map_conteiner")[number];
        var mapOptions = {
          center: new google.maps.LatLng(lat, lng),
          zoom: 8,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(show_in,
            mapOptions);
            
        var marker = new google.maps.Marker({
             position:new google.maps.LatLng(lat,lng),
             map: map,
             title:"Hotel"
           });
           
          $(show_in).fadeIn();
      }

問題は、この関数の最初の呼び出しでのみマップが正しく表示されることです

(どのdivから始めても)

最初にこの関数を呼び出した後、常に歪んだマップが表示されます (添付の図でわかるように)

ここに画像の説明を入力

4

1 に答える 1

1

triggerresize-callback でマップのcomplete-eventを実行する必要があります$.fadeIn()

さらに、各マップインスタンスを 1 つだけ作成map_conteinerし、その後の呼び出しで、既存のマップの newとマーカーのGetMapnew のみを設定することをお勧めします。centerposition

于 2013-08-23T11:22:39.110 に答える