Google Maps API vs API Яндекс.Карт
Описанный в прошлом посте сервис Дислокации использовал с самого начала Яндекс.Карты как движок карт. Причин на то было несколько — я думал, что они будут распознавать адреса лучше, чем гуглевские; у них значительно лучше документация, чем у Мапии; нет вопросов с получением ключика к АПИ, в отличии от Визикома.
В результате я написал всë с их использованием, и в основном был доволен — в документации описано всë подробно, с кучей примеров. Всë работало, я был доволен. :)
Но мне предложили перейти на карты от гугля — у них значительно больше охват по территориям (геокодер знает о моëм родном Кривом Роге, в отличии от яндексового :), плюс они лучше распознают адреса (которые встречаются, как оказалось, в довольно стрëмном виде). Почему сервис не перешëл — я в принципе всë сделал и оно заработало — это отдельный вопрос: гугль ограничивает количество запросов к геокодеру в 15000 в день (это мало, текст со страницы адресов отделений ВТБ24 — 1500 строк) плюс ограничивает частоту запросов — 5 запросов в секунду уже перебор, два — обычно всë ок, но бывают траблы. Это по-моему неприемлемо, ждать пару минут, пока оно раздуплится. :)
Но в посте я хотел затронуть совсем другой вопрос — о разнице в АПИ. В
некоторых местах логичнее гугль: функция обработы результатов поиска адреса в
виде коллбека к геокодеру это явно более стандартный подход, чем использование
событий; в некоторых — яндекс: мне кажется более логичным на карту добавлять
оверлей (map.addOverlay(mark)), а не обратное (mark.setMap(map)).
Но проблема лежит глубже. Во-первых, документация АПИ у гугла значительно хуже — хуже структурирована, в некоторых местах приходилось догадываться экспериментально (не могу вспомнить, где), примеров меньше. Базовых возможностей (всякие крутые штуки типа прокладывания маршрутов я не щупал, но у яндекса они только для Москвы — минус серьëзный) тоже меньше — к примеру, внешний вид карты надо предопределять до создания карты. После того уже изменить ничего невозможно, в отличии от яндексовых карт — там всë на лету меняется без проблем.
Но самое плохое — это наличие абсолютно дурацких глюков. Например, если выключить панель навигации, панель зума исчезает сама и добавить еë невозможно. Если передвинуть панель зума направо, расположению элементов управления на карте сносит крышу и оно принимает очень странный вид — даже в примерах от гугля, где они показывают, как это клëво работает. :)
С другой стороны, центр Киева (на счëт других городов лень смотреть :) у Яндекса явно смещëн на юг — можно зайти на сайт и полюбоваться отрезанным севером. :) Но улица Мазепы у гугла отсутствует и это настораживает — не Путин ли покопался? :D
В общем и целом должен сказать, что бекенд у Google Maps лучше — у него куда более обширная база и (в большинстве случаев) лучше работающий геокодер. Зато у Яндекса лучше фронтенд — кроме всего прочего, увеличение региона, выделенного правой кнопкой мышки, меня просто прëт. :) А учитывая нечеловечность ограничителя геокодера у гугла, остаëтся ждать улучшений сервиса Яндекса. ;)
UPD. Надо, правда, сказать, что я совсем пропустил мимо глаз то, что я пользовался 3 версией API, которая еще находится в бета-тестировании, что несколько извиняет гугль. :)
Все замечания и вопросы можно отправлять письмами на