Я хочу использовать Google Weather API - путем передачи lat и длинные значения. Я храню эти значения, однако кажется, что Google нужны эти значения в другом формате.
т.е. Для города McTavish у меня есть значения 45,5 и-73.583
Это работает здесь: http://api.wunderground.com/auto/wui/geo/WXCurrentObXML/index.xml?query=45.5,-73.583
Но когда я использую эти данные для Google API, он не работает: См.: www.google.com/ig/api?weather=,,,45.5,-73.583
Любая справка ценится. Я предпочел бы использовать Google Data.
ОБНОВЛЕННЫЙ ОТВЕТ: Я только что заметил некоторые ДРУГИЕ нарушения в работе Google Weather API. В ЛЮБОМ случае вам необходимо иметь 8 числовых цифр, в дополнение к отрицательному знаку, если он применяется. Смотрите следующий блок кода (на Java) для правильного форматирования. (Это не идеальный алгоритм, а просто быстрый пример, чтобы вы могли увидеть результаты)
lat = lat.replace(".", "");
while(lat.length() < 9)
lat = lat.concat("0");
if(lat.contains("-"))
lat = lat.substring(0, 9);
else
lat = lat.substring(0, 8);
ОРИГИНАЛЬНЫЙ ОТВЕТ:
Пол, фишка Google Weather API в том, что вы не используете координаты, полученные традиционным способом широты/долготы. Вместо этого вы разбираете десятичные точки. Кроме того, "забавной причудой" Google Weather API является требование, чтобы данные поступали в виде 7-8-значной строки. Так, например, 45.
5 на самом деле должно быть 45.50000
, а -73.583
на самом деле должно быть -73.58300
. Эта длина в 7-8 цифр НЕ включает отрицательный знак (-
) перед любыми отрицательными координатами.
Итак, 45.5(0000)
становится 4550000
, а -73.583(00)
становится -7358300
. Таким образом, окончательный URL будет:
http://www.google.com/ig/api?weather=,,,4550000,-7358300
Обратите внимание, что опять же, 7-8 цифр означают, что 4550000
или 45500000
будут приемлемы, как и -7358300
или -73583000
.
Я узнал о длине 7-8 цифр только когда увидел ваш вопрос - я попробовал ввести данные в свою программу анализа погоды и обнаружил, что 455,-73583
не дает правильных данных.
Обратите внимание, что это мои неофициальные эксперименты, а не официальная документация, так что могут быть и другие причуды.
Все гораздо проще - широта и долгота должны быть умножены на миллион