我有4个rect坐标。 喜欢
north="55.9504356" south="55.5485293" east="38.1289043" west="37.1044291"
我如何在这个矩形中设置地图位置?
答案 0 :(得分:1)
你应该转换你的坐标。尝试以某种方式获得rect的中心。这是我的代码示例:
CLLocationCoordinate2D coordinate = {[neighborhood.Latitude doubleValue], [neighborhood.Longitude doubleValue]};
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(coordinate, 15000, 15000);
[self.mapView setRegion:region animated:NO];
你可以看到你指出了一个矩形的中心和距离中心的距离,以米为单位。
答案 1 :(得分:1)
<LatLonBox north="55.9504356" south="55.5485293" east="38.1289043" west="37.1044291"/>
和俄罗斯莫斯科地区的中心。
CLLocationCoordinate2D centerOfRegion = CLLocationCoordinate2DMake([data.coordinatesLongitude doubleValue],[data.coordinatesLatitude doubleValue]); //37.6166667,55.7500000
//N+E S+W for get distance between
double lat1 = [[data.squareArray objectAtIndex:0] doubleValue];
double lng1 = [[data.squareArray objectAtIndex:2] doubleValue];
double lat2 = [[data.squareArray objectAtIndex:1] doubleValue];
double lng2 = [[data.squareArray objectAtIndex:3] doubleValue];
CLLocation *firstLocation = [[[CLLocation alloc] initWithLatitude:lat1 longitude:lng1] autorelease];
CLLocation *secondLocation = [[[CLLocation alloc] initWithLatitude:lat2 longitude:lng2] autorelease];
// and /2 to make a little smaller viewport
CLLocationDistance distance = [secondLocation distanceFromLocation:firstLocation];
[map setRegion:MKCoordinateRegionMakeWithDistance(centerOfRegion, distance/2, distance/2)];
所以一个中心区域和规范的区域大小。
我的解决方案是这样,希望可以帮助其他人。