objective-cmkmapview

Not getting the proper map using MKMapVIew


I have created a mapview using MKMapView. Everything is working fine but there is a difference in the map which i am getting and which i was supposed to get. In my view map is coming but not properly i guess. please see the difference and let me know what is the problem . thanks Here's my ViewController.m

#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController


- (void)viewDidLoad
{
[super viewDidLoad];
mapView=[[MKMapView alloc]initWithFrame:CGRectMake(0, 0, 320, 400)];
mapView.delegate=self;
[mapView setMapType:MKMapTypeStandard];
[mapView setZoomEnabled:YES];
[mapView setScrollEnabled:YES];

MKCoordinateRegion region = { {0.0, 0.0},{0.0,0.0}};
region.center.latitude = 12.9667;
region.center.longitude = 77.5833;
region.span.longitudeDelta = 0.01f;
region.span.latitudeDelta = 0.01f;
[mapView setRegion:region animated:YES];
[self.view addSubview:mapView];

DisplayMap *annotation = [[DisplayMap alloc]init];
annotation.title = @" Bangalore";
annotation.subtitle = @"Silver Jublee Park";
annotation.coordinate = region.center;
[mapView addAnnotation:annotation];
}


-(MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:

(id <MKAnnotation>)annotation 
   {
 MKPinAnnotationView *pinView = nil;
 if(annotation != mapView.userLocation)

 {
      static NSString *defaultPinID = @"com.invasivecode.pin";
      pinView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
       if ( pinView == nil ) pinView = [[[MKPinAnnotationView alloc]
                                      initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease];
    pinView.pinColor = MKPinAnnotationColorRed;
    pinView.canShowCallout = YES;
    pinView.animatesDrop = YES;
 }
    return pinView;
 }


- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
@end

@implementation DisplayMap
@synthesize coordinate,title,subtitle;
-(void)dealloc{
[title release];
[subtitle release];
[super dealloc];
}
@end

ViewController.h

#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
@interface ViewController : UIViewController<MKMapViewDelegate> {
MKMapView *mapView;
}
@end


@class DisplayMap;
@interface DisplayMap : NSObject <MKAnnotation> {
CLLocationCoordinate2D coordinate;
NSString *title;
NSString *subtitle;
}
@property (nonatomic, assign) CLLocationCoordinate2D coordinate;
@property (nonatomic, copy) NSString *title;
@property (nonatomic, copy) NSString *subtitle;
@end

I am getting the following map

enter image description here

I should get the following map

enter image description here


Solution

  • When I put the coordinates you're using into Google Maps I go to the same place that you are seeing, not the place you think you "should" be getting. Have you verified the coordinates? What are the coordinates of the lace you think you should be going to?

    Here's a route between the two place

    According to Goolge you are expecting iOS to should a place ~2000km away from the coordiantes you are using, which ain't gonna happen.