0

这是我获取当前位置的方式

    NSString* lat = [[NSString alloc]initWithFormat:@"%f",locationManager.location.coordinate.latitude];
NSString* lon = [[NSString alloc]initWithFormat:@"%f",locationManager.location.coordinate.longitude];

    NSString *URL = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@,%@&output=csv&sensor=false",lat,lon];
    NSURLRequest *rq = [NSURLRequest requestWithURL:[NSURL URLWithString:URL]];
    con = [[NSURLConnection alloc] initWithRequest:rq delegate:self];
    webData = [[NSMutableData data] retain];

在连接委托方法中,我得到了当前的位置名称。200,9,“IITI 计算机教育,瓦达拉,孟买,马哈拉施特拉邦 400067,印度” 在模拟器中。

现在我的问题是我们如何使用我之前获得的字符串地名在地图中的同一位置设置注释。

提前致谢

4

1 回答 1

0

首先制作一个目标 c 类,使您的 .h 文件如下所示

 #import <Foundation/Foundation.h>
 #import <Mapkit/MKAnnotation.h>
 @interface annotation : NSObject <MKAnnotation>

 {
  CLLocationCoordinate2D coordinate;
  NSString *title;
  NSString *subtitle;

 }

   @property(nonatomic, assign) CLLocationCoordinate2D coordinate;
   @property(nonatomic, copy) NSString *title;
   @property(nonatomic, copy) NSString *subtitle;

  @end

现在在 .m 文件中

#import "annotation.h"

@implementation annotation

@synthesize  coordinate,title,subtitle;

@end

现在在您要添加注释的 controller.m 文件中导入上述文件

#import "annotation.h"

现在您可以使用以下功能将注释添加到任何坐标

-(void)addAnnotations{

annotation *userPositionAnnote = [[annotation alloc]init];
userPositionAnnote.title = @"My Current Position";
userPositionAnnote.coordinate = SetYourCordinates; // set your cordinates here where you want to add annotaion

[YourMap addAnnotation:userPositionAnnote];

MKCoordinateRegion region = {{0.0,0.0}, {0.0,0.0}};
region.center = userPositionAnnote.coordinate;
region.span.longitudeDelta = 0.001;
region.span.latitudeDelta = 0.001;

[YourMap setRegion:region animated:YES];
}

希望对你有帮助

于 2012-07-27T06:35:40.020 回答