ringingclock
精灵王
精灵王
  • UID2
  • 粉丝0
  • 关注0
  • 发帖数0
阅读:10958回复:6

室内定位导航-SDK For 微信Javascript及Android

楼主#
更多 发布于:2017-06-07 23:44

IndoorTo室内导航-SDK

前言阅读:(1)此SDK是在创建了场景的基础上进行开发,场景创建参考:10分钟快速创建场景
                  (2)此SDK是Javascript和Android通用版,Android的SDK包例子程序(Android studio 2.3.3)  http://i.vr100.com/intest/app/NavTest-indoortoSDK-2D.rar
                  (3)微信及JavascriptSDK例子程序请阅读:http://i.vr100.com/intest/dx/demoshow/index.php


1        调用地址:

http://i.vr100.com/intest/showuiappio.html?appid=SDSDDA34SDFASDF
替换appid为自己场景的appid,在后台管理中生成并查看。

2        接口描述

2.1   获取当前用户位置信息:

Javascript调用: map1.registerFucn("getRealPos","realPos");
返回参数为一json对象: {"x":x,"y":y,"z":height,"FloorNumber":FloorNumber}
Android调用:setParamApp("getRealPos",paramValue);
返回参数paramValue,为一json字符串: {"x":x,"y":y,"z":height,"FloorNumber":FloorNumber}
 

2.2   获取当前用户扫描到的ibeacon信息
Javascript调用
map1.registerFucn("scanInfo","myscanInfoFun");
myscanInfoFun回调函数的返回值,为一json格式的数组:
[
{
"uuid":"FDA50693-A4E2-4FB1-AFCF-C6EB07647825",
"major":"10095",
"minor":"53301",
"rssi":"-87"
},
{
"uuid":"FDA50693-A4E2-4FB1-AFCF-C6EB07647825",
"major":"10095",
"minor":"53302",
"rssi":"-73"
}
]
 
Android调用
setParamApp("scanInfo",paramValue);
paramValue为返回值,为一json格式的数组:
[
{
"uuid":"FDA50693-A4E2-4FB1-AFCF-C6EB07647825",
"major":"10095",
"minor":"53301",
"rssi":"-87"
},
{
"uuid":"FDA50693-A4E2-4FB1-AFCF-C6EB07647825",
"major":"10095",
"minor":"53302",
"rssi":"-73"
}
]

2.3   标绘图标接口:

◆Javascript调用:createMarkeraMaker);
aMakermaker的配置参数,包括id、位置 ,宽高、偏移量、图片地址信息 ,例如:
var ptStart = { id: 'user001', x: 90, y: 6,
width:8,height:8,offsetx:0,offsety:0,href:'http://qy.vr100.com/images/enterprise/logo.gif'};
var makeri= map1.createMarker(ptStart);
◆Android调用:getParam("createMarker",ptStart);

2.4   删除图标,根据图标名称删除图标
javascript调用:deleteMarkerid);
id:为图标名称 id
Android调用:getParam("deleteMarker",id)
 

2.5   标绘文字接口:
javascript调用:createTextaText);
aText为文字的配置参数,包括id;位置xy;偏移量offsetxoffsety;字体大小fontSize;最大显示级别levelfrom;最小显示级别levelto;字体:fontFamily;字体颜色fill;字体描边颜色storke;字体描边宽度:strokeWidth;字体呢绒:content ,例如:
var
txtObj={"id":"userText_0", "x":"1",
"y":"2",
"offsetx":"0","offsety":"0","fontSize":"2","levelfrom":"0.02","levelto":"0.5","fill":"#223344","stroke":"#999999","strokeWidth":"1.5","content":"我是文字"};
aText=map1.createText(txtObj);
android调用:getParam("createText",txtObj);

2.6   删除文字:
javascript调用:deleteTextByIdid),参数 id为字符串
deleteTextidObj),参数idObj为文字对象
Android调用:getParam("deleteTextById",id);
ringingclock
精灵王
精灵王
  • UID2
  • 粉丝0
  • 关注0
  • 发帖数0
沙发#
发布于:2017-06-07 23:47



2.7   获取鼠标事件


单击:
js注册 map1.registerFucn("click",function(e){
alert(e.x+","+e.y); });
数据:{"x":pos.x,"y":pos.y,"clientX":cx,"clientY":cy,"id":id
}
 
Android监听::setParam("click",clickojbA);
数据:var
clickojbA='{"x":'+pos.x+',"y":'+pos.y+',"clientX":'+cx+',"clientY":'+cx+',"id":'+id+'
}';
双击
map1.registerFucn("dbclick",function(e){
alert(e); });
平移:
map1.registerFucn("panstart",function(e){
alert(e); });
map1.registerFucn("panmove",function(e){
alert(e.deltaX+","+e.deltaY); });
缩放开始:
map1.registerFucn("pinchstart",function(e){
alert(e); });
map1.registerFucn("pinchmove",function(e){
alert(e.scale); });
 

2.8    根据要素(POI)标号获取要素信息


js调用:getPoiById(id)
Android调用 getParamApp("getPoiById",id),同时,监听 setParamApp("getPoiById")
返回:一个json数据,格式如下

 

2.9    获取点击要素POI信息


js调用:回调 getPoiByClick()
例如: map1.registerFucn("getPoiByClick",function(aElem){alert(JSON.stringify(aElem));});
Android调用 :监听 setParamApp("getPoiByClick")
返回:一个json数据,格式如下

 

2.10 获取所有poi信息


 
////获取所有POI信息
js调用:getPoisAll()
Android调用 getParamApp("getPoisAll",""),同时,监听 setParamApp("getPoisAll",paramValue),paramValue为返回值。
返回:一个json数据的数组 ,格式
[
{
"name": "顾问办公室2",
"RoomNunber": "",
"pos": "3.548714228701302
4.312303590411347",
"pop": "顾问办公室",
"pos3d": [
"3.548714228701302",
"4.312303590411347",
0
],
"posjw": null,
"id": "2190",
"ERPNumber": "",
"FloorId": "64",
"FloorNumber": "1",
"isactive": "1",
"picurl": "",
"audiourl": "",
"dispop": "2"
},
{
"name": "会议室",
"RoomNunber": "",
"pos": "6.751707713348015
1.7945695317243313",
"pop": "水电费",
"pos3d": [
"6.751707713348015",
"1.7945695317243313",
0
],
"posjw": null,
"id": "2191",
"ERPNumber": "",
"FloorId": "64",
"FloorNumber": "1",
"isactive": "1",
"picurl": "",
"audiourl": "",
"dispop": "2"
}
]

2.11 获取显示楼层编号信息:


Javascript调用:getShowFloor();返回值:为一json对象
{"floorId":61,"FloorNumber":1};
Android调用:getParamApp("getShowFloor",""),同时,监听 setParamApp("getShowFloor",paramValue),paramValue为返回值。返回值为以json字符串,形如:
{"floorId":61,"FloorNumber":1}
 

2.12 监听最近活动信息事件


Javascript调用:getNearPop,例如:
map1.registerFucn("getNearPop",function(aElem){alert(JSON.stringify(aElem));});
返回监听到的最近的活动POI信息,格式为一json对象,如下格式
{"id":id,"audiourl":audiourl,
"picurl":picurl,"content":content}
Android调用:setParamApp("getNearPop",paramValue),paramValue为返回值。返回值为一json字符串,形如:{"id":id,"audiourl":audiourl,
"picurl":picurl,"content":content}
ringingclock
精灵王
精灵王
  • UID2
  • 粉丝0
  • 关注0
  • 发帖数0
板凳#
发布于:2017-06-07 23:47
2.13         根据poi编号导航:


javascript调用:
naviById(id);
android调用
getParamApp("naviById",id);
备注 :也可以在页面加载的初始化就导航。在url中传入参数 naviId 如:http://i.vr100.com/intest/showuiappio.html?appid=3J8awp3inWxZPabz&naviId=2371

2.14         根据位置导航到目标


默认会以定位当前点位起点,导航到目标位置
javascript调用:naviByPos(toPos);
参数toPos为一json数据,格式为 {"x":x,"y":y,"z":z},例如: {"x":50,"y":80,"z":0}
Android调用:getParamApp("naviByPos"toPos);
参数toPos为一json数据,格式为 {"x":x,"y":y,"z":z},例如: {"x":50,"y":80,"z":0}

2.15         根据起点终点规划线路naviBtPos


javascript调用: naviBtPos(pos)
参数pos为一json数组 ,包含了起点和终点坐标 ,例如 pos='{"x1":50,"y1":30,"z1":0,"x2":80,"y2":50,"z2":0}';
Android调用:getParamApp("naviBtPos",pos);

2.16         根据起点终点获取路径规划路径点序


javascript调用:getNaviPathByPos(param)
param参数为一json对象,包括了起点坐标 、终点坐标和 回调函数名称,如
{"x1":50,"y1":30,"z1":0,"x2":80,"y2":50,"z2":0,"funcName":"getPath"}
Android调用:getParamApp("getNaviPathByPos",param);



2.17 初始化地图大小scaleViewToFactor
javascript调用:map1.registerFucn("isMapLoad",function(e){map1.scaleViewToFactor(0.5) });
Android调用:监听setParamApp("isMapLoad");然后调用 getParamApp("scaleViewToFactor","0.5")


2.18 地图按坐标位置聚焦 setViewByPos
javascript调用:map1.setViewByPos(pos)
其中pos为x y坐标,中间用英文空格隔开,例如map1.setViewByPos(“30 50”);地图将聚焦到坐标为(30,50)的位置。
Android调用:getParamApp("setViewByPos","30 50")


2.19 地图按要素id聚焦 showFloorElm
javascript调用:map1.showFloorElm(id)
其中id为POI编号,例如map1.showFloorElm(231);地图将聚焦到要素为231的位置,并切换楼层(如果不是当前楼层)。
Android调用:getParamApp("showFloorElm","231")

2.20 跳转到楼层showFloor
javascript调用:map1.showFloor(floorid)
其中showFloor为楼层编号,例如map1.showFloorElm(112);地图将聚焦到楼层编号为112的楼层。

Android调用:getParamApp("showFloor","112")



 
2.21 监听楼层加载完成事件
Javascript调用:floorMapLoad,例如:
map1.registerFucn("floorMapLoad",function(flooid){alert(floorid);});
返回楼层编号floorid
Android调用:setParamApp("floorMapLoad",paramValue),paramValue为返回值。
zhuyucheng
贫民
贫民
  • UID15
  • 粉丝0
  • 关注0
  • 发帖数1
地板#
发布于:2017-06-08 21:37
强啊啊
ringingclock
精灵王
精灵王
  • UID2
  • 粉丝0
  • 关注0
  • 发帖数0
4楼#
发布于:2017-06-09 09:40
zhuyucheng:强啊啊回到原帖
谢谢支持!
13477086027
贫民
贫民
  • UID33
  • 粉丝0
  • 关注0
  • 发帖数1
  • 社区居民
5楼#
发布于:2017-06-19 21:28
APP只能体验那一个场景?不能自己创建?
naodexiong
禁止发言
禁止发言
  • UID6
  • 粉丝0
  • 关注0
  • 发帖数0
6楼#
发布于:2017-06-20 11:28
用户被禁言,该主题自动屏蔽!
游客

返回顶部