当前位置:编程学习 > wap >>

PhoneGap API中文帮助文档——Geolocation(地理位置)

geolocation对象提供了对设备GPS传感器的访问。
Geolocation提供设备的位置信息,例如经度和纬度。位置信息的常见来源包括全球定位系统(GPS),以及通过诸如IP地址、RFID、WiFi和蓝牙的MAC地址、和GSM/CDMA手机ID的网络信号所做的推断。不能保证该API返回的是设备的真实位置信息。
这个API是基于W3C Geo location API Specification实现的。有些设备已经提供了对该规范的实现,对于这些设备采用内置实现而非使用PhoneGap的实现。对于没有地理位置支持的设备,PhoneGap的实现应该是完全兼容W3C规范。

方法:
geolocation.getCurrentPosition
geolocation.watchPosition
geolocation.clearWatch


参数:
geolocationSuccess
geolocationError
geolocationOptions


对象(只读):
Position
PositionError
Coordinates


geolocation.getCurrentPosition

返回一个Position对象表示设备的当前位置。
navigator.geolocation.getCurrentPosition(geolocationSuccess,  

                                [geolocationError],  

                                [geolocationOptions]);
复制代码
参数:
geolocationSuccess:获取位置信息成功时调用的回调函数,参数为当前的位置信息。
geolocationError:(可选项)获取位置信息出错时调用的回调函数。
geolocationOptions:(可选项)地理位置选项。


说明:
geolocation.getCurrentPositon是一个异步函数。它回传一个包含设备当前位置信息的Position对象给geolocationSuccess回调函数。如果发生错误,触发geolocationError回调函数并传递一个PositionError对象。

支持的平台:
Android
BlackBerry (OS 4.6)
BlackBerry WebWorks (OS 5.0或更高版本)
iPhone


简单的范例:
    //  获取位置信息成功时调用的回调函数 

    //  该方法接受一个“Position”对象,包含当前GPS坐标信息 

    var onSuccess = function(position) { 

        alert('Latitude: '          + position.coords.latitude          + '\n' + 

            'Longitude: '         + position.coords.longitude         + '\n' + 

            'Altitude: '          + position.coords.altitude          + '\n' + 

            'Accuracy: '          + position.coords.accuracy          + '\n' + 

            'Altitude Accuracy: ' + position.coords.altitudeAccuracy  + '\n' + 

            'Heading: '           + position.coords.heading           + '\n' + 

            'Speed: '             + position.coords.speed             + '\n' + 

            'Timestamp: '         + new Date(position.timestamp)      + '\n'); 

    }; 

     

    // onError回调函数接收一个PositionError对象 

    function onError(error) { 

        alert('code: '    + error.code    + '\n' + 

            'message: ' + error.message + '\n'); 

    } 

     

    navigator.geolocation.getCurrentPosition(onSuccess, onError); 
复制代码完整的范例:
    <!DOCTYPE html> 

    <html> 

    <head>     

    <title>Device Properties Example</title> 

     

    <script type="text/javascript" charset="utf-8" src="phonegap.js"></script> 

    <script type="text/javascript" charset="utf-8"> 

     

        // 等待加载PhoneGap 

        document.addEventListener("deviceready", onDeviceReady, false); 

         

        // PhoneGap加载完毕 

        function onDeviceReady() { 

            navigator.geolocation.getCurrentPosition(onSuccess, onError); 

        } 

         

        // 获取位置信息成功时调用的回调函数 

        function onSuccess(position) { 

            var element = document.getElementById('geolocation'); 

            element.innerHTML = 'Latitude: '           + position.coords.latitude              + '<br />' + 

                                'Longitude: '          + position.coords.longitude             + '<br />' + 

                                'Altitude: '           + position.coords.altitude              + '<br />' + 

                                'Accuracy: '           + position.coords.accuracy              + '<br />' + 

     &

补充:移动开发 , 其他 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,