2012-02-17 52 views
0

我正在制作增强现实项目并希望在图像中创建缩放效果:当距离缩短时,我希望缩放图像。如何创建基于距离点的距离的缩放效果

  1. 我已经有距离了。
  2. 我有图像。
  3. 我在这。
+0

我不知道很清楚它是什么您有一个问题。你想提供一些更详细的信息,说明你到目前为止已经尝试了什么,以及你有什么问题? – 2012-02-17 08:33:14

回答

0

变焦踢下面的代码是使用了变焦面值为销的距离的最大距离。

-(void) centerMap 

{ 
    MKCoordinateRegion region; 
    CLLocationDegrees maxLat = -90; 
    CLLocationDegrees maxLon = -180; 
    CLLocationDegrees minLat = 120; 
    CLLocationDegrees minLon = 150; 
    NSArray *temp=self.AS; 
// NSArray *temp=[NSArray arrayWithArray:[NSArray arrayWithArray:[reports objectAtIndex:0]]]; 
    for (int i=0; i<[temp count];i++) { 
     Place* home = [[[Place alloc] init] autorelease]; 
     home.latitude = [[[temp objectAtIndex:i] valueForKey:@"latitude"]floatValue]; 
     home.longitude =[[[temp objectAtIndex:i] valueForKey:@"longitude"]floatValue]; 

     PlaceMark* from = [[[PlaceMark alloc] initWithPlace:home] autorelease];  

     CLLocation* currentLocation = (CLLocation*)from ; 
     if(currentLocation.coordinate.latitude > maxLat) 
      maxLat = currentLocation.coordinate.latitude; 
     if(currentLocation.coordinate.latitude < minLat) 
      minLat = currentLocation.coordinate.latitude; 
     if(currentLocation.coordinate.longitude > maxLon) 
      maxLon = currentLocation.coordinate.longitude; 
     if(currentLocation.coordinate.longitude < minLon) 
      minLon = currentLocation.coordinate.longitude; 

     region.center.latitude  = (maxLat + minLat)/2; 
     region.center.longitude = (maxLon + minLon)/2; 
     region.span.latitudeDelta = maxLat - minLat; 
     region.span.longitudeDelta = maxLon - minLon; 
    } 
    [mapView setRegion:region animated:YES]; 

} 

- (MKAnnotationView *)mapView:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>)annotation 
{ 

    if (annotation == mapView.userLocation) 
     return nil; 

    MKPinAnnotationView *pin = (MKPinAnnotationView *) [mapView dequeueReusableAnnotationViewWithIdentifier: @"asdf"]; 

    if (pin == nil) 
     pin = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier: @"asdf"] autorelease]; 
    else 
     pin.annotation = annotation; 
    pin.userInteractionEnabled = YES; 
    UIButton *disclosureButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 
    [disclosureButton setFrame:CGRectMake(0, 0, 30, 30)]; 

    pin.rightCalloutAccessoryView = disclosureButton; 
    pin.pinColor = MKPinAnnotationColorRed; 
    //pin.animatesDrop = YES; 
    [pin setEnabled:YES]; 
    [pin setCanShowCallout:YES]; 
    return pin; 

} 

此代码可能有助于创造新的应用程序,

+0

Thanku所有抱歉不清楚我有一个图像覆盖在相机上,我需要根据距离一些lat的长度来放大 – amar 2012-03-12 09:02:26

+0

没关系,欢迎 – 2012-03-12 09:22:28