API мест Google для iOS

Я пытаюсь найти местонахождение мест с названиями предприятий. Я думаю, что мне следует использовать Google Place API, поскольку CLGeocoder не может найти место с названием.

Поэтому я посмотрел на API Google Place и немного запутался в части поля местоположения.

Я думаю, что я должен ввести местоположение и радиус и, возможно, имя для поиска.

И я не уверен, какое место я должен ввести, чтобы найти место, когда я не знаю место. Я хочу, чтобы местоположение искалось по имени.

Затем я должен использовать CLGeocoder, чтобы узнать приблизительное местоположение и дать действительно огромный радиус с этим местоположением API Google Place?

Например, если я хочу найти определенный отель в Лос-Анджелесе, должен ли я использовать CLGeocoder, чтобы узнать приблизительное местоположение, а затем передать это значение в Google Place API?

Или есть еще варианты?

Большое спасибо за Вашу помощь


person in His Steps    schedule 23.05.2012    source источник
comment
Вы упомянули, что запутались в части поля местоположения, на какой вызов API места Google вы ссылаетесь?   -  person Joe Smith    schedule 25.11.2015


Ответы (1)


Ваш подход хорош - в одном из моих приложений вы можете ввести адрес, и после ввода адреса я использую CLGeoCoder для получения меток с координатами.

CLGeocoder *geoCoder = [[CLGeocoder alloc] init];
[geoCoder geocodeAddressString:addressString completionHandler:^(NSArray *placemarks, NSError *error) {

    if (placemarks && placemarks.count>0) 
    {
        if(placemarks.count==1)
        {
            MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance([[[placemarks objectAtIndex:0] location] coordinate], 1000, 1000);

            [mapView setRegion:region animated:YES];
            [mapView regionThatFits:region];
        }
   }

У метки есть координата свойства, которую вы можете использовать для API Google Places.

person Lars    schedule 23.05.2012
comment
При вводе моей адресной строки отображается ошибка: Error Domain=kCLErrorDomain Code=8 Операция не может быть завершена. (kCLErrorDomain ошибка 8.) - person Vineesh TP; 03.07.2014