You need to set the delegate of the map view, then implement this method:
– mapView:regionDidChangeAnimated:
This gets called everytime the user has finished scrolling.
For the HTTP request I suggest using ASI.  Its really easy to use....
- (void) grabURLInBackground:(id)sender
{
   NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
   ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
   [request setDelegate:self];
   [request startAsynchronous];
}
- (void)requestFinished:(ASIHTTPRequest *)request
{
   // Use when fetching text data
   NSString *responseString = [request responseString];
   // Use when fetching binary data
   NSData *responseData = [request responseData];
}
- (void)requestFailed:(ASIHTTPRequest *)request
{
   NSError *error = [request error];
}