如何在Cloudmade Leaflet地图中获取一组标记的边界

时间:2011-12-13 16:44:15

标签: cloudmade

我已经使用Cloudmade Leaflet创建了一个移动地图,因此生成了许多标记以与数据库中的LatLong值一致。但是,我无法弄清楚如何设置初始地图视图以设置缩放并将地图置于标记组中心。我认为我需要使用setBounds但为此我需要知道NorthEast和SouthWest坐标是什么。

我是否需要遍历整个标记坐标数组才能找到最北,最东,最南和西模式的值,还是有更简单的方法?

4 个答案:

答案 0 :(得分:2)

您可以使用fitBounds()方法。 Leaflets reference

答案 1 :(得分:1)

创建一个L.LatLngBounds对象并循环遍历每个lat / lng调用L.LatLngBounds.extend()的标记。

答案 2 :(得分:0)

我认为最简单的方法是做这样的事情:

int minLat = int.MaxValue;
int minLong = int.MaxValue;
int maxLat = int.MinValue;
int maxLong = int.MinValue;

foreach (var point in coordinates) 
{
    minLat = Math.Min(point.Latitude(), minLat);
    minLong = Math.Min(point.Longitude(), minLong);
    maxLat = Math.Max(point.Latitude(), maxLat);
    maxLong = Math.Max(point.Longitude(), maxLong);
} 

这在C#中对我有用。

答案 3 :(得分:0)

map.fitBounds(markers.getBounds());

应该有用...只要你有与例子相同的名字..