Geolocation

作者: RossWen | 来源:发表于2016-12-08 00:49 被阅读47次

Geolocation API(地理位置应用程序接口)提供了一个可以准确知道浏览器用户当前位置的方法。且目前看来浏览器的支持情况还算不错(因为新版本的IE支持了该API),这使得在不久之后就可以使用这一浏览器内置的API了。该API接口提供的用户地理位置信息还算蛮详细的,经纬度啊,海拔啊,精确度,移动速度啊都是可以获取的。

Geolocation 在PC端通过IP地址获取地理位置信息,在移动端则通过GPS获取地理位置信息

首先通过一段代码来获得用户的地理位置信息
Code

       if(navigator.geolocation){
            navigator.geolocation.getCurrentPosition(function(ev){
                console.log(ev.coords);
            },function(ev){
                alert('code'+ev.code+'----'+ev.message);//错误的代码与信息
            });
        }else{
            alert('不支持geolocation');
        }

在代码中通过事件对象ev.coords可以得到地理位置信息,其中包含了以下一些属性:


geo.jpg

这里,除了获取用户地理位置信息外,也可以监听位置信息

document.addEventListener('DOMContentLoaded',function(){
            var timer = null;
            var oBtn1 = document.getElementById('btn1');
            var oBtn2 = document.getElementById('btn2');
            oBtn1.onclick = function(){
                if(navigator.geolocation){
                    timer =  navigator.geolocation.watchPosition(function(ev){
                        console.log(ev.coords);
                    },function(ev){
                        alert('code'+ev.code+'----'+ev.message);
                    });
                }else{
                    alert('不支持geolocation');
                }
            };
            oBtn2.onclick = function(){
                navigator.geolocation.clearWatch(timer);
            };
        },false);

当然除此之外,还可以通过百度地图提供的接口创建地图,进行项目开发之类的。
Code:

<script>
        document.addEventListener('DOMContentLoaded',function(){
            var oT=document.getElementById('txt'); 
            var oBtn=document.getElementById('btn');
            var map=new BMap.Map("Box");
            var oPointer=null;
            oBtn.onclick=function(){
                if(navigator.geolocation){
                    navigator.geolocation.watchPosition(function(ev){
                        var longitude=ev.coords.longitude;
                        var latitude=ev.coords.latitude;
                        oPointer = new BMap.Point(longitude,latitude);
                        map.centerAndZoom(oPointer,15);
                        var marker = new BMap.Marker(oPointer);            
                        map.addOverlay(marker);
                        var local =  new BMap.LocalSearch(map, {renderOptions: {map: map, autoViewport: false}});
                        local.searchNearby(oT.value,oPointer,1000);
                    },function(ev){
                        alert('错误状态码'+ev.code+'错误信息+ev.message);
                    })
                }else{
                     alert('不支持geolocation');
                }
            };
        },false);
    </script>

具体内容参考http://www.jianshu.com/p/f2dc13cb6af1

相关文章

  • H5新功能

    GeoLocation 地理信息 navigator.geolocation.getCurrentPosition...

  • ionic定位,签到

    定位,签到,转换坐标系 cordova-plugin-geolocation geolocation插件 1 ...

  • Geolocation

    Geolocation API(地理位置应用程序接口)提供了一个可以准确知道浏览器用户当前位置的方法。且目前看来浏...

  • HTML5 Geolocation(地理定位)

    HTML5 Geolocation(地理定位) HTML5 Geolocation(地理定位)用于定位用户的位置。...

  • HTML5 中的几个 API

    Part 1:Geolocation Geolocation 简述 HTML5 中的地理位置,是由底层硬件设备提供...

  • 【进阶系列】地理位置专题

    1Geolocation简介 HTML5 Geolocation(地理定位)用于定位用户的位置。 1.1定位用户的...

  • HTML5地理定位

    1、HTML5 Geolocation(地理定位) HTML5 Geolocation(地理定位)用于定位用户的位...

  • HTML5 Geolocation(地理定位)

    HTML5 Geolocation(地理定位)用于定位用户的位置 定位用户的位置HTML5 Geolocation...

  • H5 API-地理位置

    # 地理位置 Geolocation API

  • HTML-Geolocation

    HTML5中,Geolocation用于获取地理位置,这里是Geolocation的基本使用方法: 添加处理定位失...

网友评论

    本文标题:Geolocation

    本文链接:https://www.haomeiwen.com/subject/nhvjmttx.html