マップを利用しているとき,ビューに表示されているマップの範囲,つまり,左上(NorthWest)の緯度経度と右下(SouthEast)の緯度経度を知りたいというときがあります.
表示している範囲内にだけ処理を施したいとか,そういう時ですね.
こういうときには,MKMapViewの
convertPoint:(CGPoint)toCoordinateFromView:(MKMapView*)
というメソッドが役に立ちます.
例えばマップビュー左上の緯度経度を求めるには,MKMapViewのインスタンスがmapViewであるとすると,
CGPoint northWest = CGPointMake(mapView.bounds.origin.x,mapView.bounds.origin.y); CLLocationCoordinate2D nwCoord = [mapView convertPoint:northWest toCoordinateFromView:mapView];
右下の緯度経度は,
CGPoint southEast = CGPointMake(mapView.bounds.origin.x+mapView.bounds.size.width,mapView.bounds.origin.y+mapView.bounds.size.height); CLLocationCoordinate2D seCoord = [mapView convertPoint:southEast toCoordinateFromView:mapView];
でそれぞれ取得することが可能です.