Как создать систему, которая будет получать SMS-сообщения с указанием местоположения в заголовке и автоматически передавать эту информацию в Google Maps? - PullRequest
1 голос
/ 20 февраля 2010

Я смотрю на создание простого приложения, основанного на местоположении. Очевидно, учитывая, что у многих людей нет доступа к смартфонам и т. Д., Я пытаюсь найти способ, позволяющий им отправлять текстовые данные об их адресе / местоположении в автоматизированную систему, которая будет определять их местонахождение на Google Картах. Это возможно? И если это возможно, возможно ли также автоматизировать систему, которая затем будет отправлять это местоположение и данные третьей стороне (через 3G, Wi-Fi или SMS)?

Ответы [ 3 ]

1 голос
/ 20 февраля 2010

Для получения входящих SMS-сообщений вам обычно требуется шлюз SMS, который поддерживает входящие SMS-сообщения.

Clickatell - это популярный SMS-шлюз. Он работает в более чем 200 странах, и по иронии судьбы его рекламируют прямо рядом с текстовым полем. Я пишу этот ответ!

Для входящих SMS-сообщений вам потребуется предоставить интерфейс с вашего сервера через: HTTP, SMPP, SOAP или FTP. Например, если вы используете HTTP GET и предоставляете Clickatell этот URL-адрес: http://www.yourdomain.com/incoming-sms/, то Clickatell будет отправлять вам GET-запрос такого типа с каждым входящим SMS:

https://www.yourdomain.com/incoming-sms/?
   api_id=12345&
   from=279991235642&
   to=27123456789&
   timestamp=2010-02-1921:29:50&
   text=Here%20is%20the%20messagetext&
   charset=ISO-8859-1&
   moMsgId=b2aee337abd962489b123fda9c3480fa

Как только вы получите адрес в теле SMS, вам нужно будет получить координаты широты / долготы через серверную службу геокодирования Google Maps API . Если вы используете php, это будет выглядеть примерно так:

$url = 'http://maps.google.com/maps/geo?q=Oxford+Street,+London,+UK&output=csv&sensor=false';

$data = @file_get_contents($url);

$result = explode(",", $data);

echo $result[0]; // status code
echo $result[1]; // accuracy
echo $result[2]; // latitude
echo $result[3]; // longitude

После того, как вы получите широту и долготу, вы можете сохранить их в базе данных для последующего нанесения на Карты Google.

Обратите внимание, что служба геокодирования на стороне сервера может использоваться только в сочетании с отображением результатов на карте Google; Результаты геокодирования без отображения их на карте запрещены Условиями использования Google Maps API Условия лицензии .


Если вы хотите использовать SMS-шлюз Clickatell для отправки ответа обратно через SMS, их API предлагает выбор вариантов исходящих соединений через: HTTP / S, SMPP, SMTP, FTP, XML, SOAP, COM-объект.

Метод HTTP / S очень прост: http://api.clickatell.com/http/sendmsg?to=NUMBER&msg=Message+Body+Here ( Руководство по Clickatell API ).

Метод SMTP заключается в отправке простого электронного сообщения по адресу: sms@messaging.clickatell.com со следующим текстом:

user: xxxxx
password: xxxxx
api_id: xxxxx
to: 448311234567
text: Meet me at home
1 голос
/ 20 февраля 2010

Вам действительно нужен поставщик услуг SMS, чтобы отправлять смс.Вы можете обойтись без привязанного телефона, если это необходимо, но вам придется платить за смс в любом случае, а привязанные телефоны, как правило, требуют достаточного количества обслуживания.Я бы не рекомендовал ни одного SMS-провайдера другим, но остерегался бы любого, который кажется слишком дешевым - есть некоторые изворотливые, которые будут делать такие вещи, как получение ваших контактных номеров и продажа / рассылка спама.Вам должен понравиться такой, как Clickatell.

В Картах Google есть API с хорошей документацией.Я не совсем уверен, что вы хотите сделать из вашего описания, но, надеюсь, вы должны найти то, что вы хотите там.В противном случае, не забудьте взглянуть на Yahoo!API Карт или API Карт Bing .В отличие от поиска, картографирование - это не одна скачка ...

0 голосов
/ 20 февраля 2010

Звучит так, будто вы говорите о команде Google SMS .

Вы отправляете SMS на номер 466453 («GOOGLE» на большинстве устройств), и если вы отправили сообщение

карта 5-я авеню, Нью-Йорк

вы вернетесь

Карта: 5-я авеню, Нью-Йорк http://m.google.com/u/x195Ag

Нажав на эту ссылку, вы попадете на Google Maps с этим адресом (хотя в Safari, а не в приложении Google Maps).

...