地图控制
Fengmap地图加载完成后,可通过地图方法和地图进行交互。
单/多楼层显示
地图加载完成后可配置楼层显示数量,当地图为多层时,地图数据的楼层ID从groupID =1开始依次向上加1,默认显示第一层即groupID = 1的地图数据。
如需更改配置,可参照如下代码设置:
map.visibleGroupIDs = map.groupIDs; //设置所有楼层可见
map.focusGroupID = 1; //设置聚焦楼层为第一层。
显示级别
地图加载完成后,您可以根据需求设置地图级别,以及地图显示的最大和最小显示级别。级别范围为1-29之间的整数值,第29级表示1:1厘米,一般室内地图初始显示级别在16级到23级之间。参考代码如下:
map.mapScaleLevel = 23; //设置当前显示级别为23
map.setMapScaleLevelRange(16,23); //设置地图可放大的最大级别为23,缩小的最小级别为16
地图朝向
地图加载后,您可以设置地图的旋转度和倾斜度。旋转度的范围为0-360,倾斜度的范围为0~60。 参考设置如下所示:
map.tiltAngle = 30; //设置地图的倾斜度为30度。
map.rotateAngle = 60; //设置地图的旋转角为60度。
楼层显示间距
Fengmap JavaScript SDK 支持设置地图两个楼层之间的显示间距,默认的层高为50,您可自定义配置。参考设置如下:
map.groupSpace = 20; //设置两楼层的楼层间距
二三维状态
Fengmap JavaScript SDK 支持初始化设置地图的显示模式,二维或三维模式。参考设置如下:
map.viewMode = fengmap.FMViewMode.MODE_2D; //设置地图为二维显示模式
指北针
Fengmap JavaScript SDK 支持显示/隐藏地图的指北针控件。参考设置如下:
map.showCompass = true; //显示指北针控件
设置中心点
Fengmap JavaScript SDK 支持设置地图的中心点。参考设置如下:
//中心点
var pnt = {
x:11100000.000,
y:481929.000,
groupID:1, //目标层GroupID
callback:function(){
//跳转中心点完成
}
};
//跳转
map.moveTo(pnt);
手势控制
Fengmap JavaScript SDK端的手势包括使用鼠标或手指来控制地图缩放、地图移动、地图旋转、地图倾斜、地图点击等功能。Fengmap JavaScript SDK 支持开启和禁用手势控制。参考设置如下:
//地图手势对象
var controller = map.gestureEnableController;
controller.enableMapPan = true; // 可移动
controller.enableMapRotate = true; // 可旋转
controller.enableMapIncline = true; //可倾斜
controller.enableMapPinch = true; //可缩放
controller.enableMapSingleTap = false; //不可单击
坐标转换
Fengmap JavaScript SDK端提供设备屏幕坐标和地图坐标之间的转化方法,Fengmap地图为墨卡托坐标系米制坐标。转化方法在map类中。参考设置如下:
//屏幕坐标转地图坐标:
//z取值为对应楼层的高度。可用map.getGroupHeight(groupID)+map.layerLocalHeight获取。
//若屏幕坐标超出范围,转换结果为null。
var pt2 = map.coordScreenToMap(x, y, z);
//地图坐标转屏幕坐标:
var pt1 = map.coordMapToScreen(x, y, z);