2017-04-18 3 views
0

ここに私のコードがあります。マーカと比較してマップの中心が正しくない点を除いて、完全に動作します。私の研究から、容器のサイズが不明であることが原因である可能性があります。 マップとマーカーの位置合わせの問題について調べるには、マップのサイズを変更するためにトリガーイベントを使用する必要があることを読んでいます(google.maps.event.trigger(map, 'resize');)。しかし、私はこのコードを動作させるためにすべてを試しましたが、そうではありません。 助けていただければ幸いです。マップのサイズを正確に中央に戻す方法がわからない

var coords = [ 
{lat: 45.731267, lng: 4.827466, zoom: 15}, 
{lat: 43.648456, lng: 5.252421, zoom: 15}, 
{lat: 42.393203, lng: -71.151112, zoom: 15} 
]; 
var markers = []; 
var maps = []; 

function myMaps() { 
    for(var i = 0, length = coords.length; i < length; i++) 
    { 
    var point = coords[i]; 
    var latlng = new google.maps.LatLng(point.lat, point.lng); 

    maps[i] = new google.maps.Map(document.getElementById('map' + (i + 1)), 
    { 
     zoom: point.zoom, 
     center: latlng, 
     disableDefaultUI: true 
    }); 

    markers[i] = new google.maps.Marker({ 
     position: latlng, 
     map: maps[i] 
    }); 
    } 
} 
+0

使用するコードは 'google.maps.event.trigger(map、 'resize');ですが、どのように使用しますか? – Valentin

答えて

0

あなたは、あなたのマップを置く場所のhtmlあなたに<center> Your map </center>を使用しようとすることができます。それは自動的にあなたの地図を任意のサイズのコンテナに中央に移動させます。これがあなたを助けることを願っています。

+0

中心にないマップオブジェクトではありません。マーカーの後ろにある、正確に中央にないマップです。それはhtmlに関連していません。 – Valentin

+0

私はあなたの質問と同じコードを使用していますが、 "zoom:point.zoom"の部分では "zoom:16"のような数字を使っていましたが、私はこの(disableDefaultUI:true)を私のコード。それは通常中心にあります。申し訳ありませんが、それはあなたの多くを助けていない場合。 –

+0

全く動作しません。マーカーは要素の中央に配置されますが、マップは常にわずかにオフセットされます。 – Valentin

関連する問題