使用产品: iserver 8c
数据类型: 文件型
问题描述:
使用idesktop 8C中的一个china100的地图,发布到iserver 8C上作为服务。使用iclient for javascript开发,代码如下:
function init(){
map = new SuperMap.Map("map");
var bounds = new SuperMap.Bounds();
bounds.extend(new SuperMap.LonLat(18,73));
bounds.extend(new SuperMap.LonLat(122,53));
bounds.toBBOX();
/*
map.minExtent=bounds;
*/
//map.zoomToExtent(bounds);
//map.restrictedExtent=bounds;
//map.zoomToScale();
layer = new SuperMap.Layer.TiledDynamicRESTLayer(layerName, url, null, {maxResolution:"auto"});
//map.setBaseLayer(layer);
//map.zoomToExtent(bounds);
layer.events.on({"layerInitialized": addLayer});
}
function addLayer(){
map.addLayer(layer);
//map.setCenter(new SuperMap.LonLat(0, 0), 5);
map.setCenter(new SuperMap.LonLat(108, 34), 5);
}
问题:
1.加载图层后,想通过经纬度来设置地图中心点,代码中写了(108,34)作为地图中心点,但是实际上地图中心位置看起来在非洲往西一些,不论怎么修改这个数字,地图中心点基本上就在非洲西边一些。
这是什么原因呢?是因为要把经纬度转为墨卡托坐标吗?
2.如何设置地图的baselayer?在尝试过设置地图中心点不起作用后,又尝试把地图显示范围控制在一个指定的经纬度范围内,但是一直出现baselayer没有设置的错误,经过map.setBaseLayer(layer);设置也不行。
请问怎么样设置地图的baselayer?
3.如果标注要分权限应该怎么做?比如监控车辆,每个人看到的车辆经过授权,只能看到经过授权的车的位置。想在后台在地图上标注好,不在前端浏览器上用javascript标注,应该怎么做呢?由于对web地图不熟悉,请麻烦讲详细一点。
谢谢!