Note that there are some explanatory texts on larger screens.

plurals
  1. POGetting Wrong Annotation location on Mapview
    text
    copied!<p>I'm getting the wrong annotation location on <code>Mapview</code>. I have tried so many things, but with no luck. I'm getting the right coordinate but it's displayed at the wrong location on mapview. Does anyone know why?</p> <pre><code> for(WatchEntityLocation *watchEntityLocation in watchEntityLocationList) { locationArray=watchEntityLocation.locationList; NSLog(@"location count:%i",[locationArray count]); Location *location=[locationArray objectAtIndex:0]; NSLog(@"watcher latlong:%g,%g",location.latitude,location.longitude); CLLocationCoordinate2D coordinate= CLLocationCoordinate2DMake(location.latitude,location.longitude); if (CLLocationCoordinate2DIsValid(coordinate)) { NSLog(@"valid Cordinate!"); } else { NSLog(@"Invalid Cordinate!"); } NSLog(@"latitude is::%g" , coordinate.latitude); NSLog(@"longitude is: :%g" , coordinate.longitude); MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(coordinate, 0.5*METERS_PER_MILE, 0.5*METERS_PER_MILE); MKCoordinateRegion adjustedRegion = [mapView regionThatFits:viewRegion]; NSLog(@"adjustedRegion latitude is::%g" , adjustedRegion.center.latitude); NSLog(@"adjustedRegion longitude is: :%g" ,adjustedRegion.center.longitude); if ((adjustedRegion.center.latitude &gt;= -90) &amp;&amp; (adjustedRegion.center.latitude &lt;= 90) &amp;&amp; (adjustedRegion.center.longitude &gt;= -180) &amp;&amp; (adjustedRegion.center.longitude &lt;= 180)){ NSLog(@"valid region!"); [mapView setRegion:adjustedRegion animated:YES]; mapView.showsUserLocation = NO; }else{ NSLog(@"Invalid region!"); } [self addAnnotation:adjustedRegion.center tlocation:watchEntityLocation.watchEntity.name];} -(void)addAnnotation:(CLLocationCoordinate2D)lcordinate tlocation:(NSString *)name { MyAnnotation *annotation = [[MyAnnotation alloc] initWithCoordinates:lcordinate title:name subTitle:@""]; annotation.pinColor = MKPinAnnotationColorGreen; [mapView addAnnotation:annotation]; [annotationArray addObject:annotation]; } - (void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views { for (MKAnnotationView *av in views) { id &lt;MKAnnotation&gt; mp = [av annotation]; if (![mp isKindOfClass:[MKUserLocation class]]) { [mv selectAnnotation:mp animated:YES]; break; } } } - (MKAnnotationView *)mapView:(MKMapView *)map viewForAnnotation:(id &lt;MKAnnotation&gt;)annotation { if ([annotation isKindOfClass:[MKUserLocation class]]) return nil; if(annotation != map.userLocation) { MKPinAnnotationView *annView=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"MyPin"]; annView.animatesDrop=TRUE; annView.canShowCallout = YES; [annView setSelected:YES]; annView.pinColor = MKPinAnnotationColorRed; annView.calloutOffset = CGPointMake(15, 15); return annView; } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload