微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/html5/168683.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。