2012-01-28 3 views
1

Я создаю приложение для iOS. Я пытаюсь настроить локальную таблицу для хранения данных, связанных с местом google. Мне трудно понять, что использовать в качестве первичного ключа.Настройка таблицы отношений с API Google Адресов

Я прочитал документацию по местоположению google, http://code.google.com/apis/maps/documentation/places/ и обнаружил, что могу передать свое текущее местоположение, чтобы получить набор идентификаторов ссылки, которые можно использовать для получения информации о месте. Однако я не могу использовать этот ссылочный идентификатор в качестве моего первичного ключа, потому что «тот же токен не может быть возвращен для любого данного места в разных поисках». Я хочу ссылаться на ключ google place в моей базе данных, чтобы я мог сформировать отношения с другими таблицами в моей базе данных.

Если я хочу хранить локальные данные на основе отношения местоположения google, что бы я использовал в качестве первичного ключа? Например, я хочу хранить пользовательские данные, например, сколько моих пользователей «понравилось» этому месту google в моей базе данных.

ответ

1

Храните любой ссылочный ключ в качестве первичного ключа в db. теперь вещь

В одном месте может быть много ссылочных идентификаторов, но все ссылочные идентификаторы будут указывать на одно место. например, если у Парижа есть 3 ссылочных идентификатора, например 1233adasdadsa 2333asdasdads 2334adasdaads , но каждый идентификатор ссылки укажет на париж. Это называется обратным геокодированием.

1

Вы должны использовать ссылку в качестве первичного ключа. Существует небольшая вероятность того, что место может измениться (дрейф) со временем, поэтому ссылка не обязательно гарантируется.

Из документации API вы связаны с:

reference содержит уникальный токен, который можно использовать для получения дополнительной информации об этом месте в запросе информации о месте. Вы можете сохранить этот токен и использовать его в любое время в будущем для обновления кэшированных данных об этом месте, но тот же токен не может быть возвращен для любого данного места в разных поисках.

Вы можете использовать id, чтобы проверить, ссылаетесь ли вы на то же место в ваших поисках. В конечном счете, вам нужно будет настроить некоторую логику в своем приложении, чтобы определить, поднимает ли ваша ссылка то же место (через ID).

+0

Почему бы вам просто не использовать «id» для вашего основного ключа, если он действительно уникален и согласован в различных поисках определенного местоположения? У меня возникли трудности с пониманием конструктивных соображений по поводу наличия как «id» (уникального и согласованного во всех поисковых запросах), так и «ссылки» (уникального и согласованного только в одном поиске) – Marchy

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