利用HTML5开发Android(5)---HTML5地理位置服务在Android中的应用
2014-09-21 22:05
671 查看
Android中
Java代码
//启用地理定位 webSettings.setGeolocationEnabled(true); //设置定位的数据库路径 webSettings.setGeolocationDatabasePath(dir); //配置权限(同样在WebChromeClient中实现) public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { callback.invoke(origin, true, false); super.onGeolocationPermissionsShowPrompt(origin, callback); }
在Manifest中添加权限
Xml代码
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
HTML5中 通过navigator.geolocation对象获取地理位置信息 常用的navigator.geolocation对象有以下三种方法:
//获取当前地理位置 navigator.geolocation.getCurrentPosition(success_callback_function, error_callback_function, position_options) //持续获取地理位置 navigator.geolocation.watchPosition(success_callback_function, error_callback_function, position_options) //清除持续获取地理位置事件 navigator.geolocation.clearWatch(watch_position_id)
其中success_callback_function为成功之后处理的函数,error_callback_function为失败之后返回的处理函数,参数position_options是配置项 在JS中的代码
Js代码
//定位 function get_location() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(show_map,handle_error,{enableHighAccuracy:false,maximumAge:1000,timeout:15000}); } else { alert("Your browser does not support HTML5 geoLocation"); } } function show_map(position) { var latitude = position.coords.latitude; var longitude = position.coords.longitude; var city = position.coords.city; //telnet localhost 5554 //geo fix -82.411629 28.054553 //geo fix -121.45356 46.51119 4392 //geo nmea $GPGGA,001431.092,0118.2653,N,10351.1359,E,0,00,,-19.6,M,4.1,M,,0000*5B document.getElementByIdx_x_x_x("Latitude").innerHTML="latitude:"+latitude; document.getElementByIdx_x_x_x("Longitude").innerHTML="longitude:"+longitude; document.getElementByIdx_x_x_x("City").innerHTML="city:"+city; } function handle_error(err) { switch (err.code) { case 1: alert("permission denied"); break; case 2: alert("the network is down or the position satellites can't be contacted"); break; case 3: alert("time out"); break; default: alert("unknown error"); break; } }
其中position对象包含很多数据 error代码及选项 可以查看文档
相关文章推荐
- 利用HTML5开发Android(6)---构建HTML5离线应用
- 在Android中使用HTML5本地存储,地理位置,离线应用
- 利用HTML5开发Android(2)---Android中构建HTML5应用
- 用HTML5、地理定位API和Web服务来开发移动应用
- Android开发之--利用系统自带的服务获取经纬度并转为具体位置
- html5中地理位置定位api接口开发应用:
- android 开发利用 html5 JavascriptInterface 实现应用层与 native 互传参数并获取返回数据
- Android应用开发之利用服务实现电话监听
- Android应用开发新路线,利用HTML5开发Android应用程序
- html5中地理位置定位api接口开发应用小结
- android应用开发之利用SAX、DOM和Pull实现对XML文件的解析并进行单元测试
- Android应用开发新路线(用HTML5开发Android应用)
- 多源在线与离线数据读取之五(Android移动端开发读取四川地理信息中心地名搜索服务)
- 基于即时通信和LBS技术的位置感知服务(四):Location-Aware-Instant:开发即时位置感知的Android客户端
- HTML5 地理位置定位(HTML5 Geolocation)原理及应用
- 用HTML5, CSS3, JavaScript开发Android, iOS应用框架
- Android应用开发新路线(用HTML5开发Android应用)
- 【Based Android】android通过criteria选择合适的地理位置服务
- HTML5+Javascript开发Android应用
- HTML5 地理位置定位(HTML5 Geolocation)原理及应用【转】