解决方法
以下是
JavaScript和JSON中的几个示例(在
jQuery的帮助下),使用IP查找方法(借助
IPinfoDB)和
Geolocation API方法(在
Google Maps API和
YQL的帮助下).
在这两个例子中,我检索区域和国家/地区,但有几个值可以选择.请注意,这些示例不执行任何错误处理,为简洁起见,这些示例将被编辑,否则请参阅the full demo.
JavaScript中的IP查找
这种方法很好,因为它很容易实现,并且在国家层面上是相当准确的,但对于任何更具体的精确度而言,准确度下降很大.
// API key excluded for brevity,see full demo. var apiurl = 'http://api.ipinfodb.com/v3/ip-city'; $.getJSON(apiurl+'/format=json&callback=?',function(data){ $("h3#location").html(data.regionName + "," + data.countryName); } );
地理位置API
虽然绝对不是完美的,但是这种方法是一样准确的.用户被提示分享地理位置细节,这可能会减少使用.
navigator.geolocation.getCurrentPosition(function(pos){ $.getJSON(apiurl+'/format=json&callback=?',function(data){ var regionName = data[...]AdministrativeAreaName; var countryName = data[...]CountryName; $("h3#location").html(regionName + "," + countryName); } ); });
在那里,您会看到我以YQL的方式使用Google Maps API v3,以便可以进行JSON回调.