确定Google地图中的边界的西南和东北点

时间:2010-09-01 02:42:11

标签: google-maps

我在谷歌地图上有一套标记(比如6)。现在我想放大到某个水平,显示所有标记,因为我使用了getBoundsZoomLevel()。

问题是我不知道如何从纬度和经度数组中确定BOUNDS。

有人可以告诉我如何确定西南和东北角的界限???

我发现这个帖子但是我无法理解它,因为我不知道什么是DIST ... SouthWest and NorthEast Points

2 个答案:

答案 0 :(得分:1)

看看LatLngBounds http://code.google.com/apis/maps/documentation/javascript/reference.html#LatLngBounds

当您添加新的LatLng时,您可以调用extend(point:LatLng),然后边界将包含您添加的所有LatLng。

答案 1 :(得分:0)

这是在目标C中,希望逻辑可以帮助您:

-(NSArray *)calculateLongLatDegreesInMeters:(CLLocationDegrees)latitude {
float lat = M_PI * latitude / 180;

// Constants for calculating lengths

float m1 = 111132.92;

float m2 = -559.82;

float m3 = 1.175;

float m4 = -0.0023;

float p1 = 111412.84;

float p2 = -93.5;

float p3 = 0.118;

float eq1 = m1 + (m2 * cos(2 * lat)) + (m3 * cos(4 * lat));

float latitudeDegreeInMeters = eq1 + (m4 * cos(6 * lat));

float longitudeDegreeInMeters = (p1 * cos(lat)) + (p2 * cos(3 * lat)) +    (p3 * cos(5 * lat));

NSString *latDegInMtr = [NSString stringWithFormat:@"%f",latitudeDegreeInMeters];
NSString *lonDegInMtr = [NSString stringWithFormat:@"%f",longitudeDegreeInMeters];


NSArray *arr = [NSArray arrayWithObjects:latDegInMtr,lonDegInMtr, nil];



return arr; //(latitudeDegreeInMeters, longitudeDegreeInMeters)
}