Bu, kullanıcının posta kodunu, Data Science Toolkit numaralı açık kaynaklı IP2Coordinates service numaralı IP adresini kullanarak IP adreslerinden alır.
Orada daha doğru coğrafi konum API'leri vardır, ancak bu kesinlikle ücretsiz ve kullanımı son derece basittir. Bunu bir üretim sitesinde geliştirmekteydim, HTML5 Geolocation'u, birincil yöntem olarak Max Mind gibi daha iyi bir IP geolocator'a geri dönüş olarak kullanırdım.
Bunun yalnızca sitenizdeki ABD kullanıcıları için çalışacağını unutmayın. Muhtemelen, WATID'lerinden birini kullanmak için (veya farklı bir hava durumu API'sini seçmek için) diğer Yahoo yer API'larından birine daha ayrıntılı veriler vermelisiniz.
İşte size kod. Örnek kodunuzda <?php
etiketinden sonra bunu sağa koyun. Çalıştığından emin olduğunuzda, print
ile başlayan tüm satırları yorumlayın.
//Get the user's IP address
$user_ip = $_SERVER['REMOTE_ADDR'];
//The Data Science Toolkit URL
$url = 'http://www.datasciencetoolkit.org/ip2coordinates/';
//Find the user's location from their IP.
//*** You need the get_data function from the sample code
$raw_geocode = json_decode(get_data($url . $user_ip));
//Check if the user is in the US
if ('US' === $raw_geocode->$user_ip->country_code) {
//If yes, store their zip code in a variable, and print it
$zip_code = $raw_geocode->$user_ip->postal_code;
printf('<p>Your zip code is: %s</p>', $raw_geocode->$user_ip->postal_code);
} else {
//If the user isn't in the US, set a sip code that will work.
$zip_code = '97211';
//and print an error
printf('<p>Sorry, this app does not work in %s.</p>', $raw_geocode->$user_ip->country_name);
}
//Print the raw data for debugging.
printf('<pre>%s</pre>', print_r($raw_geocode, true));
Şimdi buna $data =
ile başlayan örnek kod satırı değiştirin:
$data = get_data("http://weather.yahooapis.com/forecastrss?p={$zip_code}&u=f");
Bu kodu işe yarayacak şekilde değiştirmek için neye ihtiyacım var (veya kutunun dışında çalışır)? Üzgünüm, yarına kadar bir yazılıma erişimim yok. kod için çok teşekkürler ve bunu CSS hilelerine veya bir şeye göndermelisiniz; Bunun, bunu yapabilecek tek öğreticilerden biri olduğunu düşünüyorum! – user1373771
Kutunun dışında çalışmalıdır. – cpilko
Mükemmel çalışıyor! Yapmam gereken tek şey metin yazdığı parçaları silmekti (wp temamı karıştırdı) ve bir çekicilik gibi çalıştı. Web siten var mı? Altbilgide size kredi eklemeyi çok isterim! – user1373771