2013-05-21 4 views
1

Я хочу использовать много мест для показа на экране блокировки. Я уже тестировал, показано только 10 местоположений. Есть ли способ показать более 10 мест?Как добавить более 10 мест для прохождения

+0

нет, в зависимости от яблока документы, только десять можно показать –

+0

я могу использовать любой трюк получить другие места? – malinchhan

+0

нет, просто выберите лучшие десять –

ответ

1

Rachel верна в том, что Passbook будет распознавать только первые 10 местоположений, включенных в pass.json. Если их больше 10, то они будут проигнорированы.

Обходной, что вы ссылаетесь на, предлагает следующее:

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

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

три альтернативных подхода:

  • Позволить пользователю выбрать 10 самых подходящих мест для них, или
  • Обновление местоположения всякий раз, когда используется проход. Если проверка просканирована, вы можете использовать местоположение сканирующего устройства, чтобы определить 10 ближайших местоположений и нажать обновленный проход, или
  • Добавление уникальной ссылки на обратной стороне прохода на страницу HTML5, которая захватывает их текущий место с Javascript (см. ниже), затем инициирует нажатие. Например. Для обновления вы передаете с 10 ближайших местоположений, нажмите на ссылку ниже http://www.yourservice.com/?passSerial=xxxx

Пример расположения JS:

<script> 
if(navigator.geolocation){ 
    navigator.geolocation.getCurrentPosition(success,fail); 
} 

function success(a) {    
    $("#long").val(a.coords.longitude).focus(); // focus required to force an update of the field value in webkit browsers 
    $("#lat").val(a.coords.latitude).focus(); 
    // initiate ajax callback to push new pass and alert the user that it is on the way 

} 
function fail() { 
    alert("You must give permission to provide your location, please refresh this page and try again"); 
} 
</script> 
+0

Спасибо, PassKit! Я постараюсь сделать это! У меня есть только 2 дня, чтобы решить эту проблему! – malinchhan

+0

Ваши альтернативные подходы интересны! Я попробую ! – malinchhan

+0

Как найти 10 ближайших мест? – malinchhan