суббота, 12 марта 2011 г.

Изменения адресного поиска для Garmin

В мартовском выпуске карты под приемники Garmin изменен принцип адресного поиска.
До этого выпуска над каждым домом стояла точка типа "Дом" с меткой, состоявшей из названия улицы и номера дома через запятую (например, "Ленина, 23"). В устройстве такие точки надо было искать через Поиск\Точки, в программе MapSource - через Найти\Места, вкладка Объекты.
Минусы такого подхода:
  • огромное количество точек-домов при большом приближении (масштаб 120 метров и меньше), и вследствие этого медленная прорисовка карты, особенно на старых устройствах;
  • вследствие особенностей компилятора метки точек домов, улица которых начиналась с цифры (например, "20 лет Победы, 4"), изменялись самым причудливым образом;
  • не каждый конечный пользователь карты без дополнительных объяснений догадается, что адреса надо искать через Точки, а не через Адреса;
Недавно наткнулся на вот эту статью и решил попробовать.
Вроде бы все работает, но тоже есть особенности:
  • между номером дома и корпусом не должно быть пробелов, иначе поиск работает неправильно. То есть должно быть "5к1", а не "5 к1" (а у меня полно таких домов). Если эксперимент окажется удачным и такой поиск будет удобнее чем поиск через Точки, займусь исправлением;
  • в программе MapSource поиск работает не очень красиво, номер корпуса прибавляется к названию улицы (например, чтобы найти дом 7а на Ленина, нужно выбрать номер дома 7 и улицу "7а Ленина";
  • лишние дороги по контурам домов (в принципе можно избежать путем компиляции карты с адресным поиском отдельно от основной и указанием более низкого приоритета отрисовки, но мне было лениво).