地理定位 API [英] GeoLocation API

查看:34
本文介绍了地理定位 API的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚遇到了这个很棒的 AP​​I:http://ipinfodb.com/ip_location_api.php

不过,我也想找回大陆.这是否可能,因为我找不到它.

也许还有另一种免费提供的 API 可以提供城市、国家和大陆?我尝试过 Google 的 AJAX API,但他们也不提供大陆.

也许我将不得不将我已有的转换为大陆,如何?!

我希望这不是太主观!

谢谢大家

解决方案

为什么不将每个 CountryCodeXXCountryCode 映射到各自的大陆?应该不会太难,因为只有大约 200 个国家和 5 到 7 个大洲.

我不知道这种准备好的 PHP 数据库,但这里有一个 json_encode'd 数组,以国家代码为键,大陆名称为值:

$json = '{"AD":"欧洲","AE":"亚洲","AF":"亚洲","AG":"北美","AI":"北America","AL":"欧洲","AM":"亚洲","AN":"北美","AO":"非洲","AQ":"南极","AR":"南部America","AS":"澳大利亚","AT":"欧洲","AU":"澳大利亚","AW":"北美","AZ":"亚洲","BA":"欧洲","BB":"北美","BD":"亚洲","BE":"欧洲","BF":"非洲","BG":"欧洲","BH":"亚洲","BI":"非洲","BJ":"非洲","BM":"北美","BN":"亚洲","BO":"南美洲","BR":"南美洲"","BS":"北美","BT":"亚洲","BW":"非洲","BY":"欧洲","BZ":"北美","CA":"北America","CC":"亚洲","CD":"非洲","CF":"非洲","CG":"非洲","CH":"欧洲","CI":"非洲","CK":"澳大利亚","CL":"南美洲","CM":"非洲","CN":"亚洲","CO":"南美洲","CR":"北美"","CU":"北美","CV":"非洲","CX":"亚洲","CY":"亚洲","CZ":"欧洲","DE":"欧洲","DJ":"非洲","DK":"欧洲","DM":"北美","DO":"北美","DZ":"非洲","EC":"南美"","EE":"欧洲","EG":"非洲","EH":"非洲","ER":"非洲","ES":"欧洲","ET":"非洲","FI":"欧洲","FJ":"澳大利亚","FK":"南美洲","FM":"澳大利亚","FO":"欧洲","FR":"欧洲","GA":"非洲","GB":"欧洲","GD":"北美","GE":"亚洲","GF":"南美","GG":"欧洲","GH":"非洲","GI":"欧洲","GL":"北美","GM":"非洲","GN":"非洲","GP":"北美","GQ":"非洲","GR":"欧洲","GS":"南极洲","GT":"北美洲","GU":"澳大利亚","GW":"非洲","GY":"南美洲","HK":"亚洲","HN":"North America","HR":"欧洲","HT":"北美","HU":"欧洲","ID":"亚洲","IE":"欧洲","IL":"Asia","IM":"欧洲","IN":"亚洲","IO":"亚洲","IQ":"亚洲","IR":"亚洲","IS":"欧洲","IT":"欧洲","JE":"欧洲","JM":"北美","JO":"亚洲","JP":"亚洲","KE":"非洲","KG":"亚洲","KH":"亚洲","KI":"澳大利亚","KM":"非洲","KN":"北美","KP":"亚洲","KR":"亚洲","KW":"亚洲","KY":"北美","KZ":"亚洲","LA":"亚洲","LB":"亚洲","LC":"北美","LI":"欧洲","LK":"亚洲","LR":"非洲","LS":"非洲","LT":"欧洲pe","LU":"欧洲","LV":"欧洲","LY":"非洲","MA":"非洲","MC":"欧洲","MD":"欧洲","ME":"欧洲","MG":"非洲","MH":"澳大利亚","MK":"欧洲","ML":"非洲","MM":"亚洲","MN":"亚洲","MO":"亚洲","MP":"澳大利亚","MQ":"北美","MR":"非洲","MS":"北美","MT":"欧洲","MU":"非洲","MV":"亚洲","MW":"非洲","MX":"北美","MY":"亚洲","MZ":"非洲","NA":"非洲","NC":"澳大利亚","NE":"非洲","NF":"澳大利亚","NG":"非洲","NI":"北美","NL":"欧洲","NO":"欧洲","NP":"亚洲","NR":"澳大利亚","NU":"澳大利亚","NZ":"澳大利亚","OM":"亚洲","PA":"北美","PE":"南美","PF":"澳大利亚","PG":"澳大利亚","PH":"Asia","PK":"Asia","PL":"欧洲","PM":"北美","PN":"澳大利亚","PR":"北美","PS":"Asia","PT":"欧洲","PW":"澳大利亚","PY":"南美洲","QA":"亚洲","RE":"非洲","RO":"欧洲","RS":"欧洲","RU":"欧洲","RW":"非洲","SA":"亚洲","SB":"澳大利亚","SC":"非洲","SD":"非洲","SE":"欧洲","SG":"亚洲","SH":"非洲","SI":"欧洲","SJ":"欧洲","SK":"欧洲","SL":"非洲","SM":"欧洲","SN":"非洲","SO":"非洲","SR":"南美洲","ST":"非洲","SV":"北美","SY":"亚洲","SZ":"非洲","TC":"北美","TD":"非洲","TF":"南极","TG":"非洲","TH":"亚洲","TJ":"亚洲","TK":"澳大利亚","TM":"亚洲","TN":"非洲","TO":"澳大利亚","TR":"亚洲","TT":"北美","TV":"澳大利亚","TW":"Asia","TZ":"非洲","UA":"欧洲","UG":"非洲","US":"北美","UY":"南美","UZ":"Asia","VC":"北美","VE":"南美","VG":"北美","VI":"北美","VN":"亚洲","VU":"澳大利亚","WF":"澳大利亚","WS":"澳大利亚","YE":"亚洲","YT":"非洲","ZA":"非洲","ZM":"非洲","ZW":"非洲"}';

只需调用它:

echo '

';print_r(json_decode($json, true));echo '</pre>';

I have just come across this great API: http://ipinfodb.com/ip_location_api.php

However, I would like to also retrieve the continent. Is this even possible as I can not find it.

Maybe there is another API that is freely available that will offer city, country and continent? I have tried Googles AJAX API but they don't offer continent either.

Maybe I going to have to just convert what I already have into continents, how?!

I hope this isn't too subjective!

Thanks all

解决方案

Why don't you map each CountryCodeXXCountryCode to the respective continent? Shouldn't be too hard since there are only about 200 countries and 5 or 7 continents.

EDIT: I have no knowledge of such prepared database in PHP, but here is a json_encode'd array for all the countries with the country code as key and continent name as value:

$json = '{"AD":"Europe","AE":"Asia","AF":"Asia","AG":"North America","AI":"North America","AL":"Europe","AM":"Asia","AN":"North America","AO":"Africa","AQ":"Antarctica","AR":"South America","AS":"Australia","AT":"Europe","AU":"Australia","AW":"North America","AZ":"Asia","BA":"Europe","BB":"North America","BD":"Asia","BE":"Europe","BF":"Africa","BG":"Europe","BH":"Asia","BI":"Africa","BJ":"Africa","BM":"North America","BN":"Asia","BO":"South America","BR":"South America","BS":"North America","BT":"Asia","BW":"Africa","BY":"Europe","BZ":"North America","CA":"North America","CC":"Asia","CD":"Africa","CF":"Africa","CG":"Africa","CH":"Europe","CI":"Africa","CK":"Australia","CL":"South America","CM":"Africa","CN":"Asia","CO":"South America","CR":"North America","CU":"North America","CV":"Africa","CX":"Asia","CY":"Asia","CZ":"Europe","DE":"Europe","DJ":"Africa","DK":"Europe","DM":"North America","DO":"North America","DZ":"Africa","EC":"South America","EE":"Europe","EG":"Africa","EH":"Africa","ER":"Africa","ES":"Europe","ET":"Africa","FI":"Europe","FJ":"Australia","FK":"South America","FM":"Australia","FO":"Europe","FR":"Europe","GA":"Africa","GB":"Europe","GD":"North America","GE":"Asia","GF":"South America","GG":"Europe","GH":"Africa","GI":"Europe","GL":"North America","GM":"Africa","GN":"Africa","GP":"North America","GQ":"Africa","GR":"Europe","GS":"Antarctica","GT":"North America","GU":"Australia","GW":"Africa","GY":"South America","HK":"Asia","HN":"North America","HR":"Europe","HT":"North America","HU":"Europe","ID":"Asia","IE":"Europe","IL":"Asia","IM":"Europe","IN":"Asia","IO":"Asia","IQ":"Asia","IR":"Asia","IS":"Europe","IT":"Europe","JE":"Europe","JM":"North America","JO":"Asia","JP":"Asia","KE":"Africa","KG":"Asia","KH":"Asia","KI":"Australia","KM":"Africa","KN":"North America","KP":"Asia","KR":"Asia","KW":"Asia","KY":"North America","KZ":"Asia","LA":"Asia","LB":"Asia","LC":"North America","LI":"Europe","LK":"Asia","LR":"Africa","LS":"Africa","LT":"Europe","LU":"Europe","LV":"Europe","LY":"Africa","MA":"Africa","MC":"Europe","MD":"Europe","ME":"Europe","MG":"Africa","MH":"Australia","MK":"Europe","ML":"Africa","MM":"Asia","MN":"Asia","MO":"Asia","MP":"Australia","MQ":"North America","MR":"Africa","MS":"North America","MT":"Europe","MU":"Africa","MV":"Asia","MW":"Africa","MX":"North America","MY":"Asia","MZ":"Africa","NA":"Africa","NC":"Australia","NE":"Africa","NF":"Australia","NG":"Africa","NI":"North America","NL":"Europe","NO":"Europe","NP":"Asia","NR":"Australia","NU":"Australia","NZ":"Australia","OM":"Asia","PA":"North America","PE":"South America","PF":"Australia","PG":"Australia","PH":"Asia","PK":"Asia","PL":"Europe","PM":"North America","PN":"Australia","PR":"North America","PS":"Asia","PT":"Europe","PW":"Australia","PY":"South America","QA":"Asia","RE":"Africa","RO":"Europe","RS":"Europe","RU":"Europe","RW":"Africa","SA":"Asia","SB":"Australia","SC":"Africa","SD":"Africa","SE":"Europe","SG":"Asia","SH":"Africa","SI":"Europe","SJ":"Europe","SK":"Europe","SL":"Africa","SM":"Europe","SN":"Africa","SO":"Africa","SR":"South America","ST":"Africa","SV":"North America","SY":"Asia","SZ":"Africa","TC":"North America","TD":"Africa","TF":"Antarctica","TG":"Africa","TH":"Asia","TJ":"Asia","TK":"Australia","TM":"Asia","TN":"Africa","TO":"Australia","TR":"Asia","TT":"North America","TV":"Australia","TW":"Asia","TZ":"Africa","UA":"Europe","UG":"Africa","US":"North America","UY":"South America","UZ":"Asia","VC":"North America","VE":"South America","VG":"North America","VI":"North America","VN":"Asia","VU":"Australia","WF":"Australia","WS":"Australia","YE":"Asia","YT":"Africa","ZA":"Africa","ZM":"Africa","ZW":"Africa"}';

Just call it with:

echo '<pre>';
print_r(json_decode($json, true));
echo '</pre>';

这篇关于地理定位 API的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆