我在谷歌地图上有一套标记(比如6)。现在我想放大到某个水平,显示所有标记,因为我使用了getBoundsZoomLevel()。
问题是我不知道如何从纬度和经度数组中确定BOUNDS。
有人可以告诉我如何确定西南和东北角的界限???
我发现这个帖子但是我无法理解它,因为我不知道什么是DIST ... SouthWest and NorthEast Points
答案 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)
}