Google Адреса и API Foursquare для iOS

Я создаю приложение, которое отображает мой бизнес и только мой бизнес.

Я смог (с помощью учебника Рэя Вендерлиха) сделать так, чтобы он отображал местоположения по типу, имени и т. Д.

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

Мои вопросы:

а) Как я могу выполнить поиск места и быть уверенным, что он показывает только мою компанию (один или несколько результатов в зависимости от количества мест), а не компанию с похожим названием?

Например: если я выполню поиск по названию McDonalds, он вернет «McDonalds», «McDonalds House», «McDonalds Burger Joint» и т. д. и т. д.


б) Следующий код:

-(void)plotPositions:(NSArray *)data {
      for (int i=0; i<[data count]; i++) {
           NSDictionary* place = [data objectAtIndex:i];
           NSString *name=[place objectForKey:@"name"];
               if ([name isEqualToString:@"McDonalds"]{
                   [mapView addAnnotation:placeObject];
               }
  }

я думаю, работает для того, что я ищу.
Но если по какой-то причине есть 2 или более предприятий под названием «Макдональдс», он отобразит их все.
Есть ли способ обойти это с помощью API Google Адресов?

c)Разрешает ли API Foursquare что-либо из этого?

Спасибо!


person Shak    schedule 21.02.2014    source источник
comment
Поскольку вы знаете свое дело, разве вы не должны знать, что искать?   -  person JustSid    schedule 21.02.2014
comment
Да, но что, если в одном районе есть 2 компании с моим именем? Как я смогу отображать только свои? Может я не правильно к этому отношусь...   -  person Shak    schedule 21.02.2014
comment
Вы можете, например, посмотреть на расположение места. Я не знаю, что именно возвращает API мест Google, но там должно быть что-то еще, кроме имени (местоположение определенно будет одним, так как вы можете поместить его на карту)   -  person JustSid    schedule 21.02.2014
comment
Кроме того, зачем вообще использовать API Google Places? Вы знаете свой бизнес и информацию, которую хотите отобразить, так почему бы просто не сделать это?   -  person JustSid    schedule 21.02.2014
comment
причина использования API заключалась в том, что он был напрямую связан с моей страницей Google Business... Но ваш вопрос на самом деле имеет смысл... Я мог бы создать местоположение и информацию и не использовать API.   -  person Shak    schedule 21.02.2014
comment
Ну, вы можете использовать API. Поскольку вы знаете, в каких координатах находится ваш бизнес, вы можете просто использовать это, чтобы найти правильный. Просто выберите тот, который близок к реальному местоположению и соответствует названию. Я полагаю, вы не переезжаете каждые несколько недель?   -  person JustSid    schedule 21.02.2014
comment
Я думаю... Я думаю, что усложняю задачу больше, чем она есть на самом деле... Спасибо! Это помогло мне ;) Есть ли способ проголосовать за любой из ваших комментариев?   -  person Shak    schedule 21.02.2014
comment
Я собрал свои комментарии в ответ, чтобы у вас не остался вопрос без ответа и просто куча комментариев.   -  person JustSid    schedule 22.02.2014


Ответы (1)


Если вы хотите придерживаться API Google Places, вы можете объединить несколько свойств, которые вы знаете о своем бизнесе, чтобы сузить список возвращаемых мест. Лучшим выбором для этого, вероятно, будет имя + местоположение, поскольку местоположение должно быть уже довольно уникальным и известным заранее, поскольку это ваш бизнес. Я бы посоветовал найти имя, а затем выбрать то, которое находится ближе всего к фактическому местоположению, но не дальше, чем x, на случай, если места Google не сработают и не вернут вашу компанию.

Что подводит меня к другому моменту, поскольку это ваше дело, и вы знаете всю информацию, может быть, вы могли бы предоставить ее со своего собственного сервера, а не полагаться на Google? Вы могли бы, например, иметь статический plist на своем сервере со всей необходимой вам информацией. Таким образом, вы можете обновить его, когда вам нужно (например, новый номер телефона или что-то в этом роде).

person JustSid    schedule 22.02.2014
comment
Спасибо! Делать это на моем собственном сервере... имеет смысл. Как я уже сказал, я подходил к этому неправильно. - person Shak; 23.02.2014