Клуб API Карт

Ядекс локатор

Пост в архиве.
kan35
3 марта 2013, 10:09

Надеюсь я правильно выбрал форум..:-)

 

С помощью специальных команд собираю данные о видимых базовых станциях и отправляю запрос на сервер:

xml=<ya_lbs_request>

 <common>

  <version>1.0</version>

  <api_key>ABZs_k8BAAAAwuKiIgMDFIOBkHmKur7FLvxs-j3k9gp1r7UAAAAAAAAAAADUbWq0RMczbcY3Qye-ItK7Im5r9A==</api_key>

 </common>

 <gsm_cells>

  <cell>

   <countrycode>250</countrycode>

   <operatorid>99</operatorid>

   <cellid>8d63</cellid>

   <lac>6d32</lac>

   <signal_strength>-106</signal_strength>

   <age>1000</age>

  </cell>

  <cell>

   <countrycode>250</countrycode>

   <operatorid>99</operatorid>

   <cellid>399b</cellid>

   <lac>6d32</lac>

   <signal_strength>-97</signal_strength>

   <age>1000</age>

  </cell>

  <cell>

   <countrycode>250</countrycode>

   <operatorid>99</operatorid>

   <cellid>3997</cellid>

   <lac>6d32</lac>

   <signal_strength>-107</signal_strength>

   <age>1000</age>

  </cell>

 </gsm_cells>

</ya_lbs_request>

В ответ получаю

<?xml version="1.0" encoding="UTF-8"?>

<ya_lbs_response>

  <position>

   <latitude>55.7487144</latitude>

   <longitude>37.5881462</longitude>

   <altitude>0.0</altitude>

   <precision>100000</precision>

   <altitude_precision>30.0</altitude_precision>

   <type>ip</type>

  </position>

</ya_lbs_response>

Я уже счастлив, что контакт наладился, НО!

Показывает точность 100000 и забрасывает на 30км от моего реального положения.

Как видно из ответа сервера параметр precision 100000, на что яндекс в инструкции говорит следующее:

В некоторых случаях Яндекс.Локатор сообщает о точности 100000 метров, которая означает, что до-

стоверно определить местоположение не удалось. Это происходит, если местоположение определяется

не по IP-адресу мобильного устройства, а по IP-адресу какого-либо публичного сервера или прокси-

сервера.

Но я ему даю нормальные координаты вышек, а не IP.Не может же быть, что в базе нет данных о моем месте, я ведь не на чукотке! В чем может быть дело, что не так?

Кстати, локатор может брать IP с которого произошло соединение для определения положения? - похоже так оно и есть, но ПОЧЕМУ?

 

Момент не понятный: мне модем выдает те же cellid в специфическом коде, похожем на hex (например 399b) и вообще число ли это, или просто текстовая строка?.. а в инструкции на яндекс локатор нет конкретизации в каком формате должно быть число. Хотя не попадаются шестнадцатричные, может в этом и беда.