html5 – 使用地理位置获取用户状态

获得美国用户国家最有效的方法是什么? HTML5 Geolocation是不需要涉及Google地图的选项吗?

解决方法

以下是 JavaScript和JSON中的几个示例(在 jQuery的帮助下),使用IP查找方法(借助 IPinfoDB)和 Geolocation API方法(在 Google Maps APIYQL的帮助下).

在这两个例子中,我检索区域和国家/地区,但有几个值可以选择.请注意,这些示例不执行任何错误处理,为简洁起见,这些示例将被编辑,否则请参阅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回调.

完整演示:http://jsfiddle.net/ZjXXh

相关文章

HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码