2017-11-16 15 views
0

setView()関数は、中心座標とを受け取ります。私はGoogle place APIからたくさんのポイントを取得しました。ビューにこれらのポイントを含めるようにビューを設定したいと思います。リーフレット設定方法複数ポイントによるビュー

私は適切なバウンディングボックス(int latとlng)を計算しましたが、setView()が中心座標とズームのみを受け入れるため、ズームがどのように見えるかはわかりません画素

答えて

1

使用map.fitBounds()で測定:

は、可能な最大ズームレベルを有する所与の地理的境界を含んでいるマップビューを設定します。 (その子の境界座標から作成)機能グループのLatLngBoundsを返し

また、あなたは自動的にその後、Feature Groupgroup.getBounds()を使用して、POIの適切なバウンディングボックスを計算することができます。

var map = L.map("map").setView([48.85, 2.35], 10); 
 

 
var markers = [ 
 
    L.marker([48.84, 2.34]), 
 
    L.marker([48.85, 2.35]), 
 
    L.marker([48.86, 2.36]) 
 
]; 
 

 
var group = L.featureGroup(markers).addTo(map); 
 

 
setTimeout(function() { 
 
    map.fitBounds(group.getBounds()); 
 
}, 1000); 
 

 
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { 
 
    attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors' 
 
}).addTo(map);
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css"> 
 
<script src="https://unpkg.com/[email protected]/dist/leaflet-src.js"></script> 
 

 
<div id="map" style="height: 200px;"></div>

関連する問題