如何在标定坐标上添加一个图层标注[地理信息系统论坛社区]

来源:百度文库 编辑:神马文学网 时间:2024/04/27 12:35:01

我的代码:

 

/**
* 本函数用于添加一个标注层
*/
function AddSignDiv(mapCoord,myPoint,isimg){

 mapcontrol1.viewByScale(mapCoord, 1/3000);
 var pixelCoord = mapcontrol1.mapToPixel(mapCoord);
 //if(pixelCoord.x > 0 && pixelCoord.x < mapcontrol1.imageWidth && pixelCoord.y > 0 && pixelCoord.y < mapcontrol1.imageHeight)
 // return false;
 var innerHTML = "";
 if (isimg==1)
 {
   innerHTML += "

";
   innerHTML += "";
   innerHTML += "";
   innerHTML += "
      "+myPoint.linkstr+"
";
   innerHTML += "
    
";
   innerHTML += "
";
 }
 else
 {
   innerHTML += "
"+myPoint.linkstr+"
";
 }
 mapcontrol1.customLayer.style.visibility = "visible";
 mapcontrol1.customLowerLayer.innerHTML = innerHTML;
}

但发现这样使用后我地图搬运,浮动层不会随地图移动而是停在原地.

请问如何修改 

SuperMap IS Java 1.2 版本的脚本 customEvents.js 里有个函数 customMapPanning 里实现了浮动层随地图平移的效果,请检查一下代码:

/**
 * 自定义地图拖动事件
 * mapControlID -- MapControl的ID
 */
function customMapPanning(mapcontrolID){
 // 在此处添加自定义代码

 // 让customLayer和customLowerLayer跟随鼠标移动
 var mapcontrol = eval(mapcontrolID);
 var x = mapcontrol.mouseMoveStatus.x - mapcontrol.startPoint.x + eval(mapcontrol.borderWidth);
 var y = mapcontrol.mouseMoveStatus.y - mapcontrol.startPoint.y + eval(mapcontrol.borderWidth);
 mapcontrol.customLayer.style.left = x;
 mapcontrol.customLayer.style.top = y;
 mapcontrol.customLowerLayer.style.left = x;
 mapcontrol.customLowerLayer.style.top = y;
}