Check-in на краю света

8 Авг
2012

image

Рецепт создания своего собственного Foursquare c блекджеком. Без навыков программирования.

В своих путешествиях я порой забираюсь в места, напрочь отрезанные от цивилизации. Оставшиеся дома родные и друзья хотят знать, что я жив и здоров, и где я вообще нахожусь. В некоторых случаях решением является спутниковый телефон (можно взять в аренду), однако, если в дорогу отправилась группа из 15-20 человек, звонить домой каждому участнику и сообщать, что именно с ним всё хорошо, получается очень дорого. Хочется централизованно оповестить сразу весь мир, и именно для этого Бог создал интернет. Звонить одному связному просто, но он должен быть всегда доступен и уметь пользоваться сетью, чтобы отправлять сообщение в блог, например. Плюс разница часовых поясов доставляет определённые неудобства. У меня давно была идея по созданию сервиса, через который возможно размещать свои координаты в интернете, отправленные оттуда, где нет ни сети ни мобильной связи. Моё незнание языков программирования не cоставило проблем.

Собственно решение заключается в совмещении существующих сервисов IFTTT.com, Blogger.com и Google Static Maps API.

1. Во-первых, создаётся блог на Blogger.com. От твиттера я отказался, в виду замусоренности его интерфейса лишней информацией.

2. Затем создаётся аккаунт на IFTTT.com, к которому привязываются блог и телефон. С мобильным у меня этого не получилось, однако со спутниковым всё заработало.

3. На IFTTT.com создаётся рецепт записи в блог по получении смс. Со спутникового телефона отправляется смс, помеченная определённым тегом, например, #gps2post, содержащая GPS координаты в формате hddd.ddddd°, через запятую, без пробелов. Пример смс:
#gps2post 55.7428,37.615401


Когда IFTTT.com получает смс с тегом, он оставляет запись в блоге, в которую вставляет кусок карты Google Maps, соответсвующий координатам. Здесь есть одна загвоздка. К сожалению, IFTTT не работает с iframe, обычную вставку Google Maps не получится, придётся воспользоваться Google Static Maps API. Почитать о нем можно в Руководстве. В кратце, эта служба возвращает изображение карты в ответ на определённый URL. К этому изображению уже можно привязать ссылку на нормальную карту. В моём случае, в блог отправлялось следующее сообщение:
<div style="clear: both; text-align: center;" class="separator">
<a style="margin-left: 1em; margin-right: 1em;" href="https://maps.google.com/maps?q={{MessageNoHashtag}}">
<img src="http://maps.google.com/maps/api/staticmap?size=640x640&zoom=12&maptype=hybrid&markers=color:blue%7C{{MessageNoHashtag}}&sensor=false" border="0">
</a></div>

Где {{MessageNoHashtag}} — координаты, т.е. смс без тега.

Обратите внимание, что в смс не должно быть лишних пробелов, например, после координат, потому что в этом случае URL окажется неправильным, и Google Static Maps API будет работать с ошибкой.

В принципе, это всё. Хотя у меня был ещё один элемент. Между смс и блогом была задействована почта, так же через IFTTT. Т.е. при получении смс, отправлялось письмо, а при получении письма, создавалась запись. Это было сделано на случай, если с смс возникнут проблемы, тогда можно позвонить и попросить кого-нибудь отправить короткое письмо с тегом и координатами.
Кроме того, можно добавить ещё один рецепт, просто создающий запись без координат, но с текстом из смс, например, что всё хорошо, погода отличная, рядом с вами началось извержение вулкана.

В дальнейшем есть желание развить эту идею и публиковать не отдельные точки, а вносить их в единый трек, но решения я пока не нашёл. Если продолжать пользоваться Google Static Maps API, то нужна база для хранения точек, под эти нужды можно приспособить Google Docs по средствам Google Script.

Надеюсь, кто-нибудь найдёт мой способ полезным для себя, или же он подаст идеи для плодотворных размышлений.
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх