问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在html5获取接口方法中返回的map信息

发布网友 发布时间:2022-04-22 10:38

我来回答

1个回答

热心网友 时间:2022-05-12 05:40

定位功能(Geolocation)是HTML5的新特性,因此只有在支持HTML5的现代浏览器上运行,特别是手持设备如iphone,地理定位更加精确。首先我们要检测用户设备浏览器是否支持地理定位,如果支持则获取地理信息。注意这个特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的,所以我们在访问该应用时会提示是否允许地理定位,我们当然选择允许即可。

function getLocation(){
if (navigator.geolocation){
navigator.geolocation.getCurrentPosition(showPosition,showError);
}else{
alert("浏览器不支持地理定位。");
}
}

上面的代码可以知道,如果用户设备支持地理定位,则运行 getCurrentPosition() 方法。如果getCurrentPosition()运行成功,则向参数showPosition中规定的函数返回一个coordinates对象,getCurrentPosition() 方法的第二个参数showError用于处理错误,它规定当获取用户位置失败时运行的函数。
我们先来看函数showError(),它规定获取用户地理位置失败时的一些错误代码处理方式:

function showError(error){
switch(error.code) {
case error.PERMISSION_DENIED:
alert("定位失败,用户拒绝请求地理定位");
break;
case error.POSITION_UNAVAILABLE:
alert("定位失败,位置信息是不可用");
break;
case error.TIMEOUT:
alert("定位失败,请求获取用户位置超时");
break;
case error.UNKNOWN_ERROR:
alert("定位失败,定位系统失效");
break;
}
}

我们再来看函数showPosition(),调用coords的latitude和longitude即可获取到用户的纬度和经度。

function showPosition(position){
var lat = position.coords.latitude; //纬度
var lag = position.coords.longitude; //经度
alert('纬度:'+lat+',经度:'+lag);
}

利用百度地图和谷歌地图接口获取用户地址
上面我们了解了HTML5的Geolocation可以获取用户的经纬度,那么我们要做的是需要把抽象的经纬度转成可读的有意义的真正的用户地理位置信息。幸运的是百度地图和谷歌地图等提供了这方面的接口,我们只需要将HTML5获取到的经纬度信息传给地图接口,则会返回用户所在的地理位置,包括省市区信息,甚至有街道、门牌号等详细的地理位置信息。
我们首先在页面定义要展示地理位置的div,分别定义id#_geo和id#google_geo。我们只需修改关键函数showPosition()。先来看百度地图接*互,我们将经纬度信息通过Ajax方式发送给百度地图接口,接口会返回相应的省市区街道信息。百度地图接口返回的是一串JSON数据,我们可以根据需求将需要的信息展示给div#_geo。注意这里用到了jQuery库,需要先加载jQuery库文件。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 如何用爬虫从百度地图爬取经纬度 如何在百度地图上查看某地方的经纬度? jquery怎样把表单中的值转换成json对象 javascript呼叫百度地图怎么获取所有省会城市的地标资讯? 百度地图API的产品介绍 白话中的 “鐧惧害鍦板浘” 是什么意思?将这个翻译成普通话。 C#语言,从百度地图反向地理编码api返回的json数据中提取信息 百度地图返回json字符串怎么去解析? 2060显卡什么时候出的 苹果 5s为什么有的无线网没有忽略网络? 我的苹怎么组词 苹过6plus用qq为什么扫不上二维码 无线电视怎么切换到农村苹道? 苹果5s为什么有的无线网没有忽略网络 苹 果手机无线网旁边转的是什么 怎么炖羊肉好吃又烂清炖羊肉 羊肉怎么做会比较烂 羊肉怎么做软烂 想要把羊肉炖得又入味又烂,有什么技巧可以用起? 炖羊排怎么炖好吃 怎么根据百度地图位置获取经纬度 怎样在java中调用百度地图的API 百度地图api如何根据城市名或经纬度获取当前城市东西经南北纬范围 js 地图API的应用场景是什么? 2014马年金马是什么意思 属鼠的08年9月2号出生的张姓小女孩取什么名字好? 张姓女宝宝,该取个什么名字合适呢? 话说2060显卡什么时候出 支付宝借呗为何突然被关闭? 蚂蚁借呗突然被封了,要怎么才能在开? 2021年借呗突然关闭了 借呗被停用是怎么回事? 手机高德和车载导航怎么互联 百度地图有汽车版吗 2060显卡什么时候出 性能怎么样 dnf怎么挑战深渊派对 dnf挑战深渊派对的任务在哪里接?? dnf深渊派对怎么进 dnf深渊派对怎么进入? DNF深渊派对任务怎么做