精华内容
下载资源
问答
  • 获取地理位置

    2020-01-02 21:48:35
    获取地理位置: <script> navigator.geolocation.getCurrentPosition(function (pos) { // 获取位置成功的回调函数 console.log("成功"); console.log(pos); }, function (err) { // 获...

    获取地理位置: 

    <script>
        navigator.geolocation.getCurrentPosition(function (pos) {
            // 获取位置成功的回调函数
            console.log("成功");
            console.log(pos);
        }, function (err) {
            // 获取位置失败的回调函数
            // 1  :  用户拒绝浏览器获取位置信息
            // 2  :  尝试获取用户信息,但失败了
            // 3  :   设置了timeout值,获取位置超时了
            console.log("失败");
            console.log(err);
        }, {
            // 配置对象
            // timeout 获取位置的限时时间
            timeout: 10000,
            // 多久更新获取一次位置
            maximumAge: 1000
        });
    </script>

     

    展开全文
  • HTML5实现获取地理位置信息并定位功能 注:请点击此处进行充电! 前言 这篇文章主要介绍了HTML5实现获取地理位置信息并定位功能,本文讲解了原生HTML5、百度地图、谷歌地图等三种获取理位置信息并定位的方法,需要的...

    HTML5实现获取地理位置信息并定位功能

    前言

         这篇文章主要介绍了HTML5实现获取地理位置信息并定位功能,本文讲解了原生HTML5、百度地图、谷歌地图等三种获取理位置信息并定位的方法,需要的朋友可以参考下。

    HTML5提供了地理位置定位功能(Geolocation API),能确定用户位置,我们可以借助HTML5的该特性开发基于地理位置信息的应用。本文结合实例给大家分享如何使用HTML5,借助百度、谷歌地图接口来获取用户准确的地理位置信息。

    如何使用HTML5地理位置定位功能

          定位功能(Geolocation)是HTML5的新特性,因此只有在支持HTML5的现代浏览器上运行,特别是手持设备如iphone,地理定位更加精确。首先我们要检测用户设备浏览器是否支持地理定位,如果支持则获取地理信息。注意这个特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的,所以我们在访问该应用时会提示是否允许地理定位,我们当然选择允许即可。

     

    function getLocation(){ 
    if (navigator.geolocation){ 
    navigator.geolocation.getCurrentPosition(showPosition,showError); 
    }else{ 
    alert("浏览器不支持地理定位。"); 
    } 
    }

     

          从上面的代码可以知道,如果用户设备支持地理定位,则运行 getCurrentPosition() 方法。如果getCurrentPosition()运行成功,则向参数showPosition中规定的函数返回一个coordinates对象,getCurrentPosition() 方法的第二个参数showError用于处理错误,它规定当获取用户位置失败时运行的函数。

          我们先来看函数showError(),它规定获取用户地理位置失败时的一些错误代码处理方式:

     

    function showError(error){ 
    switch(error.code) { 
    case error.PERMISSION_DENIED: 
    alert("定位失败,用户拒绝请求地理定位"); 
    break; 
    case error.POSITION_UNAVAILABLE: 
    alert("定位失败,位置信息是不可用"); 
    break; 
    case error.TIMEOUT: 
    alert("定位失败,请求获取用户位置超时"); 
    break; 
    case error.UNKNOWN_ERROR: 
    alert("定位失败,定位系统失效"); 
    break; 
    } 
    }

     

    我们再来看函数showPosition(),调用coords的latitude和longitude即可获取到用户的纬度和经度。

     

    function showPosition(position){ 
    var lat = position.coords.latitude; //纬度 
    var lag = position.coords.longitude; //经度 
    alert('纬度:'+lat+',经度:'+lag); 
    }

     

    利用百度地图和谷歌地图接口获取用户地址

          上面我们了解了HTML5的Geolocation可以获取用户的经纬度,那么我们要做的是需要把抽象的经纬度转成可读的有意义的真正的用户地理位置信息。幸运的是百度地图和谷歌地图等提供了这方面的接口,我们只需要将HTML5获取到的经纬度信息传给地图接口,则会返回用户所在的地理位置,包括省市区信息,甚至有街道、门牌号等详细的地理位置信息。

          我们首先在页面定义要展示地理位置的元素,分别定义id#baidu_geo和id#google_geo。我们只需修改关键函数showPosition()。

      先来看百度地图接口交互,我们将经纬度信息通过Ajax方式发送给百度地图接口,接口会返回相应的省市区街道信息。百度地图接口返回的是一串JSON数据,我们可以根据需求将需要的信息展示给#baidu_geo。注意这里用到了jQuery库,需要先加载jQuery库文件。

     

     function showPosition(position){ 
    var latlon = position.coords.latitude+','+position.coords.longitude; 
    //baidu 
    var url = "
    <ahref="http://api.map.baidu.com/geocoder/v2/?ak=C93b5178d7a8ebdb830b9b557abce78b&callback=renderReverse&location="+latlon+"&output=json&pois=0</a>"; 
    $.ajax({ 
    type: "GET", 
    dataType: "jsonp", 
    url: url, 
    beforeSend: function(){ 
    $("#baidu_geo").html('正在定位...'); 
    }, 
    success: function (json) { 
    if(json.status==0){ 
    $("#baidu_geo").html(json.result.formatted_address); 
    } 
    }, 
    error: function (XMLHttpRequest, textStatus, errorThrown) { 
    $("#baidu_geo").html(latlon+"地址位置获取失败"); 
    } 
    }); 
    });

     

          再来看谷歌地图接口交互。同样我们将经纬度信息通过Ajax方式发送给谷歌地图接口,接口会返回相应的省市区街道详细信息。谷歌地图接口返回的也是一串JSON数据,这些JSON数据比百度地图接口返回的要更详细,我们可以根据需求将需要的信息展示给#google_geo。

     

    function showPosition(position){ 
    var latlon = position.coords.latitude+','+position.coords.longitude; 
    //google 
    var url = 'http://maps.google.cn/maps/api/geocode/json?latlng='+latlon+'&language=CN'; 
    $.ajax({ 
    type: "GET", 
    url: url, 
    beforeSend: function(){ 
    $("#google_geo").html('正在定位...'); 
    }, 
    success: function (json) { 
    if(json.status=='OK'){ 
    var results = json.results; 
    $.each(results,function(index,array){ 
    if(index==0){ 
    $("#google_geo").html(array['formatted_address']); 
    } 
    }); 
    } 
    }, 
    error: function (XMLHttpRequest, textStatus, errorThrown) { 
    $("#google_geo").html(latlon+"地址位置获取失败"); 
    } 
    }); 
    }

     

          以上的代码分别将百度地图接口和谷歌地图接口整合到函数showPosition()中,我们可以根据实际情况进行调用。当然这只是一个简单的应用,我们可以根据这个简单的示例开发出很多复杂的应用,建议用手机浏览器访问DEMO演示。

    美文美图

    展开全文
  • 获取地理位置信息前,首先浏览器都会向用户询问是否愿意共享其位置信息,待用户同意后才能使用。 Html5获取地理位置信息是通过Geolocation API提供,使用其getCurrentPosition方法,此方法中有三个参数,分别是...
  • 复制代码代码如下: /** * 以下为html5代码,获取地理位置 */ function getLocation() { //检查浏览器是否支持地理位置获取 if (navigator.geolocation) { //若支持地理位置获取,成功调用showPosition(),失败调用show...
  • 根据经纬度获取地理位置

    热门讨论 2013-03-07 17:09:38
    java 根据经纬度获取地理位置
  • googleMap根据经纬度获取地理位置,里面有使用代码,只需填入经纬度即可获取地理位置信息
  • Python获取地理位置天气一.获取当前IP地理位置二.和风天气获取天气信息三、代码示例 一.获取当前IP地理位置 使用ininfo获取当前位置信息,拼音地址’Beijing’ ipinfo地址信息获取 参照...

    一.获取当前IP地理位置

    使用ininfo获取当前位置信息,拼音地址’Beijing’
    ipinfo地址信息获取
    参照https://github.com/ipinfo/python,注册登录(github可以直接登录),获取access_token

    import ipinfo
    
    access_token='1234567'
    
    handler=ipinfo.getHandler(access_token)
    details=handler.getDetails()
    city=details.city			#获取当前城市
    

    二.和风天气获取天气信息

    使用和风天气API可以免费获取天气信息,3000条/天。需要注册获取自己的key。
    2.1 根据1中城市名称拼音获取城市ID信息和中文名字
    2.2 根据id查询当前实时天气,使用开发版URL,具体参照
    和风天气开发文档
    请求URL
    实况天气 HTTP GET
    商业版 https://api.heweather.net/v7/weather/now?{请求参数}
    开发版 https://devapi.heweather.net/v7/weather/now?{请求参数}

    三、代码示例

    #codeing=utf-8
    
    import json
    import requests
    import ipinfo
    
    access_token='12345abcd'               #ipinfo key
    he_key='123456'   #和风天气key
    
    head_heloopup='https://geoapi.heweather.net/v2/city/lookup?location='    #查询城市信息头
    head_weather='https://devapi.heweather.net/v7/weather/now?location='    #查询对应ID的实时天气信息,只能用开发版
    head_weather_pay='https://api.heweather.net/v7/weather/now?location='   #查询实时天气商用版
    
    handler=ipinfo.getHandler(access_token)
    details=handler.getDetails()
    city=details.city
    #print(details.all)  #当前位置所有信息
    helookup=head_heloopup+city+'&key='+he_key
    info_city=requests.get(helookup).json()     #城市信息查询,结构为dict{'code':'xx','location':[{'name':xxx,'id':'xxx',},{},{}],}
    
    info_local=info_city['location'][0] #位置信息中的第0个位置地址,精准查找即为第0个
    
    city_id=info_local['id']             #当前位置ID
    city_name=info_local['name']         #当前位置中文名称
    
    #print(city_id)
    
    heweather=head_weather+city_id+'&key='+he_key	#ID查询实时天气http get字符串
    
    info_weather=requests.get(heweather).json()
    
    print(info_weather)
    
    展开全文
  • 要点:获取地理位置时,如果获取地理位置失败,有两种情况: 1、用户未给小程序授权地理位置信息 2、系统设置中-隐私选项地理位置未开启或系统未给微信授权地理位置信息 在获取地理位置信息失败后,判断用户是否...

    要点:获取地理位置时,如果获取地理位置失败,有两种情况:

    1、用户未给小程序授权地理位置信息

    2、系统设置中-隐私选项地理位置未开启或系统未给微信授权地理位置信息

    在获取地理位置信息失败后,判断用户是否有为小程序授权地理位置,如果未授权,则是第一种情况,打开地理位置授权即可;

    但是进入了fail函数,并且已有地理位置授权,说明是第二种情况,需要用户在系统设置中打开定位和授权。代码如下:

          // 调用地理位置授权
        getLocation() {
            const that = this;
            wx.getLocation({
                type: 'gcj02', // 默认为 wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标
                isHighAccuracy: true,
                success(res) {
                    that.data.query.lat = res.latitude;
                    that.data.query.lon = res.longitude;
                    that.getData();
                },
                fail(err) {
                    wx.getSetting({
                        success(res) {
                            if (!res.authSetting['scope.userLocation']) {
                                util.showToastTip('授权失败,请重新授权', 'none');
                                that.setData({
                                    viewStatus: "noauth"
                                });
                            }else{
                                util.showToastTip('请在系统设置中打开定位服务并下拉刷新列表', 'none'); 
                            }
                        }
                    })
                }
            });
        },

     

    展开全文
  • H5获取地理位置

    千次阅读 2017-08-07 11:51:01
    H5获取地理位置<!DOCTYPE html> ,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  • 微信 获取地理位置名称Location-based applications are all the rage. What used to be prohibitively expensive GPS devices are now sitting in the of pockets of a great many people, embedded within ...
  • 主要为大家详细介绍了Java微信公众平台之获取地理位置的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要介绍了react native 获取地理位置的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 百度地图webapi获取地理位置

    热门讨论 2014-11-21 16:41:13
    百度地图webapi获取地理位置
  • java调用百度定位api服务获取地理位置示例,大家参考使用吧
  • 主要介绍了php利用新浪接口查询ip获取地理位置示例,大家参考使用吧
  • 主要介绍了HTML5实现获取地理位置信息并定位功能,本文讲解了原生HTML5、百度地图、谷歌地图等三种获取理位置信息并定位的方法,需要的朋友可以参考下
  • 获取地理位置​ HTML规范中,增加了获取用户地理位置信息的API。但基于保护用户隐私的机制,需先得到用户明确许可,才能获取位置信息。
  • H5 获取地理位置

    2017-07-22 15:35:44
    js获取地理位置navigator.geolocation.getCurrentPosition(successCallback, errorCallback, options); 演示 Local Twitter Search function startSearch(){ var gps = navigator.geolocation; if (gps){ gps....
  • 根据ip地址获取地理位置 假设您需要知道访问您网站的人来自哪个国家/地区,因为您拥有一个国际化的网站,并根据该国家/地区显示不同的内容。 您可以询问用户。 无论如何,您可能都想拥有该功能以确保访问者可以控制...
  • 主要介绍了php利用腾讯ip分享计划获取地理位置示例,大家参考使用吧

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,606
精华内容 1,842
关键字:

获取地理位置