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 Computer Education、Wadala、Mumbai、Maharashtra 400067、India」 のシミュレーター。

さて、私の質問は、以前に取得した文字列の地名を使用して、マップ内の同じ場所に注釈を設定するにはどうすればよいかということです。

前もって感謝します

4

1 に答える 1

0

まず、Objective 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 に答える