从支持gps的设备获取当前经度和纬度

dav*_*lee 8 javascript api mobile gps geolocation

我想直接从网络浏览器获取支持gps的移动设备的当前位置的纬度和经度.我可以知道这可能吗?怎么做?它需要地理定位api吗?一些编码示例会有所帮助.谢谢.

Mar*_*rko 16

使用HTML5 Geolocation API,这是官方规范和示例.

编辑

我已经更新了我的答案,包括当前的浏览器支持.

W3C Geolocation API支持

Firefox 3.5+
Safari 5.0+
Chrome 5.0+
Opera
iPhone 3.0+
Android 2.0+
Run Code Online (Sandbox Code Playgroud)

·
上面未列出的其他手机使用Gears或他们自己的平台特定API.

啊,我们会不会只有一个API?:)

非常感谢Mark Pilgrim的精彩帖子.


Mak*_*nko 9

这是一个使用HTML5 Geolocation API的实际JavaScript代码.以下适用于Android浏览器和iPhone Safari:

            function onPositionUpdate(position)
            {
                var lat = position.coords.latitude;
                var lng = position.coords.longitude;
                alert("Current position: " + lat + " " + lng);
            }

            if(navigator.geolocation)
                navigator.geolocation.getCurrentPosition(onPositionUpdate);
            else
                alert("navigator.geolocation is not available");
Run Code Online (Sandbox Code Playgroud)