2012-05-31 2 views
1

Я разрабатываю простую карту, где я хочу найти компанию на карте, используя, например, название компании. например, «Apple Inc.».Как найти компанию на карте (mapkit iOS)

Вы знаете, как я могу это сделать?

Большое спасибо!

привет, Yashu

+0

Вы должны определить, что вы имеете в виду под «местом нахождения предприятия». Наверное, ты имеешь в виду адрес штаб-квартиры. После того, как у вас есть адрес, вы можете получить координаты, используя API геокодирования mapkit. – Felix

+0

в соответствии с Яблоком «Руководство по программированию местоположения», вы можете использовать CLGeoCoder для получения координат для «Apple Inc.». – pre

ответ

1

Вы должны иметь класс, реализующий протокол MKAnnotation. Вот пример

@interface MapPin : NSObject<MKAnnotation> { 
    CLLocationCoordinate2D coordinate; 
    NSString *title; 
    NSString *subtitle; 
} 

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

- (id)initWithCoordinates:(CLLocationCoordinate2D)location placeName:(NSString *)placeName description:(NSString *)description; 

@end 

Вот реализация:

@implementation MapPin 

@synthesize coordinate; 
@synthesize title; 
@synthesize subtitle; 

- (id)initWithCoordinates:(CLLocationCoordinate2D)location placeName:placeName description:description { 
    self = [super init]; 
    if (self != nil) { 
     coordinate = location; 
     title = placeName; 
     [title retain]; 
     subtitle = description; 
     [subtitle retain]; 
    } 
    return self; 
} 

- (void)dealloc { 
    [title release]; 
    [subtitle release]; 
    [super dealloc]; 
} 


@end 

Затем в вашем MapView вам нужно добавить свое местоположение компании, как, как показано ниже.

CLLocationCoordinate2D coord = [[[CLLocation alloc] initWithLatitude:35.936902 longitude:-79.024953] coordinate];//Here you need to mention your company latitude and longitude 
MapPin *pin = [[MapPin alloc] initWithCoordinates:coord placeName:@"Apple Inc" description:@""]; 
[map addAnnotation:pin]; 

Надеется, что это поможет ....

+0

Привет, Нандха, спасибо за ваш ответ. Но как мне получить «Здесь вам нужно указать вашу широту и долготу вашей компании»? Есть ли способ получить его в соответствии с названием компании? Благодаря! – Yashu

+0

Вы можете получить свою широту и долготу своей компании, используя адрес вашей компании. Есть несколько сайтов, которые сделают это для вас, http://stevemorse.org/jcal/latlon.php. или вы можете использовать IOS. – Nandha

+0

Но если у меня есть только название компании (а не адрес)? – Yashu

Смежные вопросы