javascript 怎么获得手机地理位置 比如经纬度

JavaScript015

javascript 怎么获得手机地理位置 比如经纬度,第1张

<script>

    navigator.geolocation.getCurrentPosition( // 该函数有如下三个参数

        function(pos){ // 如果成果则执行该回调函数

            alert(

                '  经度:' + pos.coords.latitude +

                '  纬度:' + pos.coords.longitude +

                '  高度:' + pos.coords.altitude +

                '  精确度(经纬):' + pos.coords.accuracy +

                '  精确度(高度):' + pos.coords.altitudeAccuracy +

                '  速度:' + pos.coords.speed

            )

        }, function(err){ // 如果失败则执行该回调函数

            alert(err.message)

        }, { // 附带参数

            enableHighAccuracy: false, // 提高精度(耗费资源)

            timeout: 3000, // 超过timeout则调用失败的回调函数

            maximumAge: 1000 // 获取到的地理信息的有效期,超过有效期则重新获取一次位置信息

        }

    )

</script>

>>参考 Lecaf 同学的博文

>>需要支持HTML5的浏览器才能支持

>>哪怕支持HTML5的浏览器支持也不一定很好

简单的说, 你可以先获取自己的ip, 然后使用百度的api根据ip来获取经纬度.

参考以下链接资料

http://developer.baidu.com/map/ip-location-api.htm#.E6.8E.A5.E5.8F.A3.E5.8F.82.E6.95.B0

方法/步骤

要想得到数据必须先得到百度地图的接口,不然怎么调用接口获取数据呢,首先我们在百度首页输入“百度api”回车后第一个就是我们要找的,点击进入。

我们是通过网页获取json数据得到的数据,所以我们选择“开发”-》“Web服务API”点击进入。

进入这个页面后,我们选择“开发指南”-》“Geocoding API”选择这个进入我们想要的接口文档

在这里我们找到通过请求get方式的url,这个url可以通过经纬度获取到地址跟省市,看自己需要什么样的返回格式,有两种,一种是json格式,另一种是xml格式,我们选择json格式的进行测试。

我们直接用url打开,get请求后获取到的数据,可以看到地址省市县这些都有,可以获取经纬度旁边大量的信息。这些显示在页面上的内容我们怎么获取到并加以利用呢。

这里我们写个方法,通过调用百度地图的url获取到我们想要的数据,在获取之前必须先申请ak秘钥,百度的api文档说的很清楚,要先申请了才能使用。

这个是请求url解析获取数据的过程,这个方法截图小编简写了,如果有需要的朋友可以找我要,给我留言就行。

我们在页面上调用这个获取市的方法看看,通过传入经纬度,然后调用百度的api接口,我们可以获取到市的内容。

通过启动tomcat,在地址栏输入访问地址,然后请求得到的数据,地址栏我输入的是南昌市的经纬度,然后返回的是正确的市。这就是我们想要的结果,同样的道理,通过这个方法也能返回地址。

END

注意事项

如果没有秘钥ak是不能利用百度api的接口的,而且这个免费的ak每天只能访问100次,对于我们而且足够用了