ОК, у меня есть этот скрипт, и он работает, но:
<?php
SESSION_START();
// access_token received from /oauth2/token call
// Assign it the properties of id (optional - id of target HTML element, from URL)
// and 'message' - the feedback message we want the user to see.
if (isset($_GET['wxurl'])) {
$wxURL = $_GET['wxurl'];
}
if ($wxURL === "autoip") {
//Get the IP of the location
$uri = curl_init("http://api.wunderground.com/api/<APIKEY>/geolookup/q/autoip.json");
} else if ($wxURL === "wxcity") {
if (isset($_GET['city']) && isset($_GET['state'])) {
$wxCity = $_GET['city'];
$wxState = $_GET['state'];
}
//Get the locations weather data
$uri = curl_init("http://api.wunderground.com/api/<APIKEY>/conditions/q/" . $wxState . "/" . $wxCity . ".json");
} else if ($wxURL === "freeJSON") {
//This gets the ACTUAL USERS location NOT that of the server **<--- WELL it's SUPPOSED to get the LOCATION of the user NOT the server**
$uri = curl_init("http://freegeoip.net/json/");
}
$ch = $uri; // URL of the call
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $access_token"));
// execute the api call
$result = curl_exec($ch);
echo $result;
PS — Я заблокировал свой API-ключ в андеграунде, потому что я получу огромные хиты. Это БЕСПЛАТНО, поэтому заполните свой собственный ключ.
Моя проблема: когда я опрашиваю использование моего LOCALHOST, я получаю погоду для своего собственного CITY, но, когда я использую сайт на сервере, он извлекает данные из МЕСТА СЕРВЕРА … Так что если я здесь на западном побережье сервер находится в храме, штат Пенсильвания.
Как я могу получить данные локали для клиента, когда код извлекает данные сервера ???
ОБНОВЛЕНИЕ: я нашел это: http://diveintohtml5.info/geolocation.html но то, что я получаю, это: НЕВОЗМОЖНО ПОЛУЧИТЬ ВАШЕ МЕСТО. Это потому, что у меня отключен GEO LOC в моем браузере, но когда я использую http://freegeoip.net/json вот что я получаю:
{
ip: "11.22.333.444",
country_code: "US",
country_name: "United States",
region_code: "WA",
region_name: "Washington",
city: "MT Vernon",
zip_code: "98273",
time_zone: "America/Los_Angeles",
latitude: 47.5614,
longitude: -123.7705,
metro_code: 985
}
Итак, Geolocation.js ставит меня в тупик …
Мысли?
Задача ещё не решена.
Других решений пока нет …