易班API 定位
1. 定位接口文档
交互说明:
获取地理位置定位
使用限制:
*仅限易班客户端4.3.0及以上版本支持使用
*仅限HTML5编写的轻应用支持使用
*如轻应用使用场景设置了兼容PC端,仅限在易班客户端内支持使用
*不满足以上任一条件,应用端需做好功能的容错
使用步骤:
*在应用端项目中创建或更新JS文件,保存以下JS代码(可由实际需求自行调整)
*在应用端项目中需要使用定位的HTML元素(可由实际需求自行调整)
HTML DEMO :
<div><a onClick="gethtml5location_fun();">点击调用定位</a></div>
<div id="yibanhtml5"></div>
成功返回:
*详见提供的JS代码yibanhtml5location函数注释
错误返回:
*详见提供的JS代码onerror函数注释(可由实际需求自行调整)
2. 定位接口源码
/*
函数名称:browser
函数作用:判断访问终端
*/
var browser = {
versions: function() {
var u = navigator.userAgent,
app = navigator.appVersion;
return {
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
};
}(),
language: (navigator.browserLanguage || navigator.language).toLowerCase()
}
/*
函数名称:getLocation
函数作用:获取地理位置
*/
function gethtml5location_fun() {
if(browser.versions.android) {
//android 调用方式
window.local_obj.yibanhtml5location();
}else if(browser.versions.ios) {
ios_yibanhtml5location();
}else {
onerror('该终端类型暂不支持使用');
}
}
/*
函数名称:yibanhtml5location
函数作用:客户端获取地理位置,异步返回位置信息,html根据返回信息做界面内容处理
参数说明:易班app回调设定,无需用户调用
postion Json {"longitude":"经度坐标", "latitude":"纬度坐标", "address":"位置名称"}
*/
function yibanhtml5location(postion) {
var editedHTML = document.getElementById("yibanhtml5");
editedHTML.textContent = postion;
}
3. 调用方法
- 引用 yb_h5.js
- 重写gethtml5location_fun() 的回调函数yibanhtml5location(postion)
<script src="js/yb_h5.js"> <script> function yibanhtml5location(postion) { /*自己的业务代码*/ /*基本示例*/ //创建一个json对象接收返回值 var obj = JSON.parse(postion); alert(JSON.stringify(obj)); //获取位置名称 var address = obj.address; //获取经度坐标 var lng = obj.longitude; //获取纬度坐标 var lat = latitude; } </script>