Главная Форум пользователей IPHONE Регистрация

Вход

Приветствую Вас Лузер | RSSСреда, 06.08.2025, 06:37
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Решение проблем с GPS
SsvxxxДата: Четверг, 05.11.2009, 17:45 | Сообщение # 1
Админ
Группа: Администраторы
Сообщений: 64
Награды: 0
Репутация: 1000
Статус: Offline
Если Вам нужна инструкция, как сделать так, чтобы "Карты" были максимально полезны и отображались без подключения к интернету, то Данный способ актуален только на прошивках 2.x.x На прошивке 3.0 и выше Вам придётся копировать кэши вручную.
1. На телефоне должна стоять джейлбрейкнутая прошивка
2. Вам потребуется программа, с помощью которой вы зальёте карты в телефон.
Лучше всего воспользоваться:
iFunBox - для Windows http://www.iphones.ru/forum/index.php?showtopic=26959
DiskAid тоже сгодится. http://www.iphones.ru/forum/index.php?showtopic=25767
DiskAid - для Mac. http://www.iphones.ru/forum/index.php?showtopic=25767
А вот PCSuite и всякие SSH-клиенты лучше приберечь для другого случая
3. Ставим из Cydia -> Utilities программу OfflineMaps.

4. Скачиваем нужные кэши карт. Здесь нужно помнить, что если у вас прошивка 2.2 или выше, то качать нужно карты для 2.2, потому как для ранних прошивок использовался другой формат кэша, несовместимый с новыми.
Кеши карт для 2.2 (большей частью на торрентах): Москвы и области (без торрентов http://narod.ru/disk/4261235000/MapTiles_Moscow.rar.html ) http://torrents.ru/forum/viewtopic.php?t=1358386, Питера(http://torrents.ru/forum/viewtopic.php?t=1295826), Иркутска(http://torrents.ru/forum/viewtopic.php?t=1390157), Киева(http://torrents.ru/forum/viewtopic.php?t=1473903) (без торрентов http://upload.com.ua/get/900675961/ )
Кеши карт для 2.1 и ранее: тут http://iphone.l0rda.biz/maps/
Если у вас 2.2 (или выше) и нету торрентов - не беда: качайте старые, а затем загоните их в Конвертер карт (http://imapsmanager.com/mapConverter/mapConverter.htm) (не забудьте поставить галочку "Переносить частичные фрагменты" или в английской версии "Transfer patial tiles").
Таким образом, к концу этого пункта, считаем, что у вас в компьютере есть каталог (например, ”GoogleMapsCaches”) с подкаталогами, в которых лежат карты тех мест, которые вы хотите засунуть в iPhone: например есть подкаталог "Moscow" (c двумя файлами "MapTiles.sqlitedb" и "com.apple.Maps.plist") и есть подкаталог "Piter" с двумя файлами с такими же именами.

5. Скачиваем закладки для выбранных местностей (например, к Москве и Питеру приложены к данной теме). Оригинальное название любого файла закладок "Bookmarks.plist", но вы переименуйте его - чтобы не перепутать в "<название местности>.plist" (в приложенном архиве они уже переименованы). Кладём их в наш каталог GoogleMapsCaches на компьютере.

К концу этого пункта считаем, что в вашем временном каталоге GoogleMapsCaches находится следющее: подкаталоги с названиями местностей, в которых лежат скачанные в п.4 кэши и отдельно несколько файлов с названиями типа "moscow.plist" или "piter.plist". Если подкаталогов не будет, то после выполнения п.6 программа повиснет!

6. Заливаем содержимое нашего каталога GoogleMapsCaches на iPhone в /private/var/mobile/Media/Maps/ (не перепутайте!), используя выбранную в пункте 2 программу. Если в "/private/var/mobile/Media/" у вас нет подкаталога "Maps", создайте его.

7. Фактически всё. Далее всё интуитивно понятно:

а) Заходим в приложение OfflineMaps на iPhone, выбираем тот кэш, который нам нужен, и жмём "Объединить" (см. на картинках ниже). Он недолго пораскинет мозгами и рапортует об успехе.

б) Опускаемся чуть пониже и выбираем соответствующий файл закладок и жмём "Копировать" (см. на картинках ниже).

Затем после этого можно смело идти в "Карты" и пользоваться кэшем без подключения к интернету. А иконка приложения изменится и будет указывать на активный кэш.

P.S. Если кто сделает или найдёт файл Directions.plist для любого российского региона - это будет класс.

Данный FAQ проясняет некоторые принципы работы стандартного приложения Maps.app ("Карты") и прежде чем задать вопрос, прочитайте это. Также, после прочтения вы поймёте, что вы делаете, когда выполняете вышеуказанную инструкцию.

Вопросов по "Картам" много. При этом, как от пользователей официальных (неджейлбрейкнутых) телефонов, так и разломанных в пух и прах. И в большинстве случаев они сводятся к тому, как превратить приложение в полнофункциональный автономный софт для спутниковой навигации (типа, например, iGO или TomTom). Скажу сразу: это невозможно.

Tеперь их необходимо положить у указанные директории. Сделать это можно разными способами:
I. Первый заключается в простом копировании нужных файлов в нужные папки. Это можно сделать, например, приложениями, рекомендованными в теме с инструкцией. Только придётся подумать про права - т.к., приложение имеет привычку менять содержимое своего кэша. На мой взгляд, это нудобно и непрактично.
II. Второй же способ - поставить приложение, которое само будет подключать нужные кэши и файлы закладок. Это куда более гибко и безопасно - не заставляет вас самих менять какие бы то ни было файлы, используемые "Картами" и выставлять права. Кроме того, этот способ позволит вам залить несколько кэшей карт и переключаться на нужный в поездках. Именно он и приводится в инструкции.

* Поиск по карте реализуется набором текста в поле поиска и нажатием кнопки "Найти". Его не следует путать с поиском в закладках, который осуществляется автоматически при наборе текста в поле поиска.

** Определение текущего местоположения в приложении "Карты" осуществляется нажатием одной кнопки с прицелом. Однако в простом интерфейсе заложен достаточно сложный алгоритм. Отметим несколько особенностей:

Поскольку Ф_БС работает заведомо быстрее, чем Ф_GPS, то в любом случае мы увидим сначала "прицел" (если Ф_БС хоть что-то определил), и только через некоторое время - синюю точку.

3. Немного подробнее о функции Ф_БС (её также часто называют "Триангуляцией"):

Сотовый телефон, зарегистрированный в сети, "помнит" шесть ближайших базовых станций. "Помнит" - это значит, что он знает их номер (Cell ID), а также, номер локации, в которой находится эта базовая станция (Location Area Code или LAC). При этом, к одной из них он подключён.
Первым делом "Карты" пытаются раздобыть информацию о местонахождении локации станции, к которой подключен телефон (используя LAC 6-ти ближайших базовых станций) . Если эта информация найдена, то после работы алгоритма на грубой карте рисуется большой прицел (как на первой картинке). Далее вступает в действие алгоритм определения местонахождения с использованием информации о покрытии 6-ти ближайших базовых станций (используя также их Cell ID). Для этого приложению необходим интернет, т.к. в кэше оно хранит только покрытие 6-ти ближайших станций, которые достаточно часто меняются (честно говоря, я в этом не уверен, но практика показывает, что это так - если у кого-то будет более подробная информация о принципе кэширования этой информации, буду рад обновить пост). Если информация найдена, то после работы алгоритма на более детальной карте рисуется маленький прицел (как на второй картинке). Это предел точности определения с помощью базовых станций.

4. Если за время работы Ф_БС приёмник GPS нашёл определённое количество спутников, то "Карты" даже в случае неудачного завершения Ф_БС решают дождаться завершения работы Ф_GPS (т.е. дождаться пока GPS найдёт необходимое количество спутников и вычислит местонахождение).

5. Сообщение о том, что невозможно определить местонахождение выдаётся тогда, когда не сработал Ф_БС (не нашёл необходимой информации), а приёмник GPS не видит спутников ("Карты" считают, что Вы в помещении - и без интернета и прекращают тратить батарейку, пытаясь что-нибудь найти).

Теперь рассмотрим несколько стереотипных вопросов:

Вопрос 1. Почему у меня на прошивке 2.2 при поиске вылетает приложение?

Ответ: скорее всего, оттого, что до этого установили патч, меняющий полоску в "Контактах". Поиск использует имена контактов (т.к. возможно к контактам добавлять закладки с их адресами), и его колбасит, если будет изменён оригинальный файл "Контактов". При установке полоски из "Русского Проекта" приложение не вылетает, т.к. они оригинальный файл не меняют (на правах рекламы svs.gif ).

Вопрос 2: Почему когда я стою на улице при нажатии на кнопку "определить моё местонахождение", приложение выдаёт "Не удалось определить местонахождение" и перестаёт искать? У меня что, GPS не работает?

Ответ: Почитайте внимательно принцип работы. Скорее всего, с GPS у вас всё в порядке, просто от не нашёл ни одного спутника к моменту подтверждения отсутствия интернета (для определения местонахождения по базовым станциям). Попробуйте ещё раз через минуту.

Вопрос 3: Почему при нажатии на кнопку "определить моё местонахождение", приложение выдаёт "забрасывает" меня к чёрту на кулички?

Ответ: Дело в ошибке определения координат по базовым станциям. А точнее, в принципе сбора Google'ом информации о покрытии базовых станций - ведь эта информация представляет тайну операторов связи и не подлежит разглашению! Дело в том, что мы сами наболняем БД Google, когда включаем GPS, "Карты" и интернет одновременно. Ваши координаты попадают в БД Google вместе с кодом страны, кодом оператора, кодом локации (LAC) и кодом соты (CellID). Однако, уникально только сочетание всех четырёх кодов, а все остальные комбинации могут повторяться. А теперь представьте, что вы так сыграете из роуминга. В базу может попасть сочетание, задающее вообще другую базовую станцию другого оператора. У Google есть премодерация данной БД (чтобы не допустить такого), однако и их алгоритмы изредка дают сбои. Чтобы исправить ситуацию, включите Edge, GPS и "Карты" и походите в вашем регионе. Дней через 10 всё пройдёт.

Вопрос 4: У меня работает интернет, но при попытке в поиске найти что-либо, я получаю "Поиск не дал результатов". Доктор, что делать?!

Ответ: Без паники. Такое бывает, когда сервер Google не очень корректно преобразовывает ваш запрос к своей базе. Если вы заметили, в таком случае обычно ваш запрос преобразовывается в строке поиска в куда более расширенный вид (с автономным округом, индексом и пр.). Так вот, в преобразованном виде всё перечисляется через запятую, а это неправильно. Уберите ручками запятые из запроса и всё найдётся. Почему возникает эта ошибка, я пока не разобрался - изучаю.


В тюрьме не сидят столько, сколько я в интернете
 
SsvxxxДата: Четверг, 05.11.2009, 17:47 | Сообщение # 2
Админ
Группа: Администраторы
Сообщений: 64
Награды: 0
Репутация: 1000
Статус: Offline
Еще один способ решения проблем с GPS:

Прежде всего, для общего понимания принципов работы GPS на iPhone рекомендую прочитать:
пост выше

Используемые сокращения:
БС - базовая станция
ОПСОС - оператор сотовой связи
СС - сотовая сеть

Как оказалось, проблемы с GPS испытываем не только мы, и не только со времени выхода 3.х.х, а с первых дней жизненного цикла телефона, но до сих пор единого универсального решения не существует.
Для того чтобы быстро найти решение своей проблемы, нужно её точно определить, но перед этим удостовериться в том, что испытания проводите при выполненных условиях:

Условия:

1) Дата, время, часовой пояс на телефоне выставлены корректно (у многих проблемы именно тут и закончатся)
2) Вы находитесь на открытой местности, без предметов мешающих прямой видимости между телефоном и спутником (из дома, с балкона, у окна никто и никогда не будет Вам гарантировать корректную работу GPS)
3) Работу GPS Вы проверяете на телефоне iPhone 3G|3GS, в настройках "Службы размещения" включены, iPhone 2G не имеет встроенного GPS модуля и в силу этого определяет местоположение только триангуляцией.

В случае проблем с GPS на iPhone бывают всего 3 ситуации:

1) Работает хорошо
2) Работает некорректно
===>а) Показывает местоположение с ошибкой в несколько км.
===>б) Показывает местоположение с ошибкой в несколько тыс. км.
===>в) Показывает местоположение корректно, но очень долго ищет спутники
3) Не работает вообще
===>а) Вместо голубой точки на экране отображается серая (такое бывает нечасто)
===>б) Телефон сообщает об ошибке "Не удалось установить Ваше размещение"

Причины возникновения проблем:

1) В первом случае проблем не возникает, соответственно решения искать тоже не нужно.

2) Работает некорректно
===>а) В этом случае телефон не видит спутники и определяет местоположение триангуляцией через БС ОПСОСа.
===>б) Та же самая ситуация, но при этом БС отдаёт телефону неверные координаты, это проблема ОПСОСа.
===>в) Долгое соединение со спутниками из-за облаков, зданий, деревьев, крыши автомобиля, металлизированного лобового стекла, т.е. любых условий, мешающих прямой видимости и быстрой связи между спутником и телефоном.

3) Не работает вообще
===>а) GPS недоступен и нет сигнала СС.
===>б) GPS недоступен и нет сигнала СС.
===>х) Самый плохой вариант - поломка железа, но случается это очень редко.

Варианты решения проблем:

1) Нет проблем - нет решений.

2) Если работает некорректно
===> а) Работает только триангуляция, переходить к "Лечению GPS"
===> б) Работает только триангуляция, переходить к "Лечению GPS", а для собственного удовлетворения можете "пнуть" ОПСОСа за то, что присвоил своей БС координаты от балды где-то в Тихом Океане, а не нормальное местоположение.

3)Если не работает вообще
===>а) Переходим к "Лечению GPS"
===>б) Переходим к "Лечению GPS"
===>х) Переходим к квесту "Сдай телефон на гарантийный ремонт" или к блокбастеру "В руки мастерам на радиорынке".

"Лечение GPS"

Здесь выложены всевозможные варианты лечения, без ранжирования по сложности исполнения (кому-то проще полчаса мучить стандартные настройки в телефоне, а кому-то набить пару строк в Терминале)

1) Ещё раз, внимательно проверьте настройки "Даты, Времени, Часового пояса", вероятно на этом пункте для Вас лечение и закончится.

2) Настройки == > Основные == >Службы размещения *Включить \ выключить

3) Настройки == > Основные == > Сеть *Выключить в настройках телефона "3G"

4) Настройки == > Wi-Fi== > *Включить или выключить "Wi-Fi", даже если нет точек доступа

5) Настройки == > Основные == > Сброс *Сделать "Сбросить настройки сети" и / или "Сбросить все настройки"

6) Поменять сим-карту на другого оператора

7) Комбинации из предыдущих пунктов, плюс выключить автоблокировку экрана, выйти в чисто поле (в прямом смысле) и ждать от 1 до 30 минут

8) С использование терминала или доступа по SSH
Этот пункт подойдёт только для телефонов с джейлбрейком, понадобится доступ по SSH или приложение Terminal.app (лежит в Сидии)

1) Открываем Terminal или устанавливаем соединение по SSH.
2) Печатаем в терминале (после каждой строчки нажимаем Return (аналог Enter'а в windows):

ВНИМАНИЕ: вводить нужно именно так как написано! Терминал чувствителен к регистру!

Т.е. папку "library" он не увидит, а "Library" найдёт. Соблюдайте написание заглавных и прописных букв, а также пробелов и слэшей!

CODE
su
root
alpine

Когда будете вводить пароль (alpine), он НЕ будет отображаться, так должно быть, и так есть и будет на всех *nix
Если сделали всё правильно увидите надпись типа такой: iPhone-ТутВашеИмя:/var/mobile/ root#
После этого вы получаете полный доступ к Root разделу на телефоне и будете обладать правами Root Admin.

3) Далее вводим
CODE
killall -9 locationd

Это "прибьёт", т.е. остановит процесс locationd, отвечающий за определение местоположения.
Если Вы увидите надпись "No matching processes belonging to you were found", значит Вы неправильно ввели имя или пароль, возвращайтесь к пункту 2.

4) Потом пишем
CODE
rm -rf /var/root/Library/Caches/locationd

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

По выполнению этой процедуры перезагружаться не надо, респринг делать тоже не стоит.

Запускайте приложение "Карты" и проверяйте. После этого всё должно работать как надо.

9) Радикальный способ - перепрошивка и настройка телефона "Как новый", а не восстановление из резервной копии.

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

Если Вы обнаружили действенный метод, не описанный в данном FAQ'е, опишите, пожалуйста, проблему которая была и детальное описание пути её решения.

статьи взяты с форума www.iphones.ru


В тюрьме не сидят столько, сколько я в интернете
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2025Создать бесплатный сайт с uCoz