HTML5怎么用高德地图经纬度查询API返回当前位置的经纬度

你的位置: >
> HTML5 获取当前位置的经纬度
HTML5 获取当前位置的经纬度
今天上午市场部门让我写一个地图导航的功能,我特么的不想写。一再的推辞。我说你们项目要求紧握需要时间看看,肯定不成的。因为我感觉这个功能首先需要H5 定位,其次就是百度的API。这是我最头疼的东西了。虽然我之前写过百度地图但那效果超级low啊。
特么的下午两点人家说了我给你两天时间看看成不成,当时我就郁闷了。。。。。。我说恩。。。啊
好吧。那就看看呗。(PS: 主要自己心里没谱,没写过啊,但是人家给时间了尼还要怎么推脱呢?低头看吧!)但是我看了一下文档,写了一个小demo后瞬间感觉信心倍增啊。原来H5定位没有想象中的那么难啊!
今天给大家看看我自己写的demo怎么实现H5地理定位吧。(就是一个简单的案例长的不漂亮)
&p id="demo"&点击这个按钮,获得您的坐标:&/p&
&button onclick="getLocation()"&试一下&/button&
var x=document.getElementById("demo");
function getLocation(){
if (navigator.geolocation){
navigator.geolocation.getCurrentPosition(showPosition);
x.innerHTML="Geolocation is not supported by this browser.";
function showPosition(position){
x.innerHTML="Latitude: " + position.coords.latitude + "&br /&Longitude: " + position.coords.
例子解释:
检测是否支持地理定位
如果支持,则运行 getCurrentPosition() 方法。如果不支持,则向用户显示一段消息。
如果getCurrentPosition()运行成功,则向参数showPosition中规定的函数返回一个coordinates对象
showPosition() 函数获得并显示经度和纬度
上面的例子是一个非常基础的地理定位脚本,不含错误处理。
有什么不明白的请看
下班了写到这里,晚上继续和大家说说如何利用H5定位功能结合百度API 完成一个导航的需求!有需要的童鞋请继续关注。
很多小伙伴找我要demo,今天正好有时间我就稍微的整理了一下。(ps:我一直是很懒的。)需要的自己下载吧! 移动端的需要部署到自己的服务器上看的哦!
下载地址:文件名称:HTML5 获取当前位置的经纬度文件大小:不大嘎嘎适用版本:手机更新日期:作者信息:小月博客 转载请注明: & 赏一点心意×
您也可以使用第三方帐号快捷登录
订单信息(价格单位:积分)
*商品名称:
*商品单价:
*商品数量:
收货信息商店(虚拟商品除邮箱外可不填)
收货姓名:
收货地址:
收货邮编:
用户邮箱:
电话号码:
手机号码:
留言备注:
总金额:1.00 积分高德地图坐标查询工具——JavaScript
最近需要查询高德地图上某个地点的坐标,但是苦于高德地图没有提供这样的功能。幸运的是,高德地图提供了javascript的api,于是打算自己写一个查询坐标的工具,在这里分享给大家。
代码如下:
&!DOCTYPE html&
&title&高德地图&/title&
&meta charset = &UTF-8& /&
&script src=&/maps?v=1.2&key=662b7a5d373bccb45aef& type=&text/javascript&&&/script&
function getCoordinate(location){
var geocoderOption = {
range:300,//范围
crossnum:2,//道路交叉口数
roadnum:3,//路线记录数
poinum:2//POI点数
var geocoder = new AMap.Geocoder(geocoderOption);
geocoder.geocode(location, function(data){
var x = (data.list)[0].x;
var y = (data.list)[0].y;
document.getElementById(&result&).innerHTML = x + &,& +
var position=new AMap.LngLat(x,y);//创建中心点坐标
if (!mapObj) {
mapObj=new AMap.Map(&container&,{center:position, level:18});//创建地图实例
mapObj.setZoomAndCenter(18,position);
&style type=&text/css&&
html{height:100%}
body{height:100%;margin:0padding:0px}
#container{height:100%}
&input type=&text& id=&input1&&
&button type=&button& onclick=&getCoordinate(document.getElementById('input1').value)&&查询坐标&/button&
&div id=&result&&&/div&
&div id=&container&&&/div&
使用时直接将以上代码拷贝到一个文本文件中,保存为html格式,用浏览器打开,就可以直接使用了。
界面如下:
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'1841人阅读
最近项目需要,稍微研究一下html5获取当前地理位置的问题。
获取当前位置的经纬度很简单,一句代码就搞定
navigator.geolocation.getCurrentPosition(function (position) {
longitude = position.coords.
latitude = position.coords.
然后查阅百度地图API,很easy,也是几句代码就搞定的事
var map = new BMap.Map(&allmap&);&pre name=&code& class=&javascript&&
var point = new BMap.Point(longitude,latitude);&pre name=&code& class=&javascript&&
var geoc = new BMap.Geocoder();
geoc.getLocation(point, function(rs){
            var addComp = rs.addressC
            alert(addComp.province + &, & + addComp.city + &, & + addComp.district + &, & + addComp.street + &, & + addComp.streetNumber);
        }); 
好的,本以为到此结束,结果实际测试发现有点问题,显示的位置与我的真正位置偏差大约两三公里左右。
一开始以为是html5获取经纬度的偏差问题,然而并不是
然后开始查资料,求助强大的度娘,然后无意中发现了一个叫做&坐标转换&的东西,一搜索才知道,原来百度地图对坐标进行了深度封装,必须通过他提供的接口进行坐标转换才行
(当然了,还是因为我以前没接触过百度地图,所以不知道这点知识,常用百度地图api的应该对这个很熟悉的吧)
好了,废话不多说,上最终代码吧
var map = new BMap.Map(&allmap&);
var longitude,
navigator.geolocation.getCurrentPosition(function (position) {
longitude = position.coords.
latitude = position.coords.
setTimeout(function () {
var gpsPoint = new BMap.Point(longitude, latitude);
BMap.Convertor.translate(gpsPoint, 0, function (point) {
var geoc = new BMap.Geocoder();
geoc.getLocation(point, function (rs) {
var addComp = rs.addressC
alert(addComp.province + &, & + addComp.city + &, & + addComp.district + &, & + addComp.street + &, & + addComp.streetNumber);
}, 3000);这段代码依赖两个包
&script type=&text/javascript& src=&http://api./api?v=2.0&ak=秘钥&&&/script&
&script type=&text/javascript& src=&/map/jsdemo/demo/convertor.js&&&/script&
写完,收工,下班!!!
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2077次
排名:千里之外13:51 提问
知道了高德地图的某个位置的经纬度,如果查出具体位置?
116..166132这是高德地图的经纬度,它不能在百度地图上去查,高德地图和百度地图有偏移,能不能根据这个高德地图的经纬度,去高德地图上去查它的具体位置?
按赞数排序
可以啊,直接在客户端打点就知道具体位置了。
这里有坐标转换
这里有高德api
533关注|200收录
481关注|704收录
430关注|89收录
其他相似问题}

我要回帖

更多关于 高德地图经纬度定位 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信