Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Openlayers 如何更改openlayer 6 view center?_Openlayers_Openlayers 3_Tile_Openlayers 6 - Fatal编程技术网

Openlayers 如何更改openlayer 6 view center?

Openlayers 如何更改openlayer 6 view center?,openlayers,openlayers-3,tile,openlayers-6,Openlayers,Openlayers 3,Tile,Openlayers 6,html,body,.map{ 保证金:0; 填充:0; 宽度:99%; 身高:95%; } 项目定义(“EPSG:32643”,“+proj=utm+分区=43+基准=WGS84+单位=m+无定义”); ol.proj.proj4.寄存器(proj4); ol.proj.get(“EPSG:32643”).setExtent([29162790468691426831]); var投影=新的ol.proj.projection({ 代码:“EPSG:32643”, 范围:[2916279046


html,body,.map{
保证金:0;
填充:0;
宽度:99%;
身高:95%;
}
项目定义(“EPSG:32643”,“+proj=utm+分区=43+基准=WGS84+单位=m+无定义”);
ol.proj.proj4.寄存器(proj4);
ol.proj.get(“EPSG:32643”).setExtent([29162790468691426831]);
var投影=新的ol.proj.projection({
代码:“EPSG:32643”,
范围:[2916279046869585691426831],
});
var mousePositionControl=new ol.control.MousePosition({
坐标格式:ol.坐标.createStringXY(4),
投影:投影,/'EPSG:32643',
//注释以下两行以确定鼠标位置
//放在地图上。
className:“自定义鼠标位置”,
目标:document.getElementById('mouse-position'),
未定义的DHTML:“”,
});
var scaleLine=新的ol.control.scaleLine({
单位:'公制',
});
var map=新ol.map({
控件:ol.control.defaults().extend([mousePositionControl,scaleLine]),
目标:“地图”,
图层:[
新ol.layer.Tile({
来源:new ol.source.XYZ({
url:“http://103.10.168.74:8081/tms/1.0.0/district/distgrid“+”/{z}/{x}/{-y}.png”,
投影:投影,
tileGrid:ol.tileGrid.createXYZ({
范围:[29162790468691426831],
最大分辨率:2605.2421875,
tileSize:[256,256],
最大缩放:10,
}),
}),
}),
新ol.layer.Vector({
source:新的ol.source.Vector({
功能:[新ol.功能({
几何:新的ol.几何点([614971.4731218630.894]),
})],
}),
renderBuffer:200,
风格:新的ol风格({
图片:新ol.style.Icon({
主播:[0.5,46],
主播:“分数”,
anchorYUnits:'像素',
src:'https://openlayers.org/en/latest/examples/data/icon.png'
})
})
}),
新ol.layer.Vector({
来源:新ol.source.Vector({
特点:[
新ol.功能({
几何:新的ol.几何点([716446.977962414942574.737260181]),
})
]
})
}) 
],
视图:新ol.view({
投影:投影,
单位:“公制”,
缩放:1,
最大分辨率:2605.2421875,
中心:[654496.1365977521155181.2690064],
numZoomLevels:13,
约束中心:对,
最大缩放:10,
minZoom:1,
})
});
鼠标位置控件。设置投影(投影);

几何图形和中心需要与视图位于同一投影中

  geometry: new ol.geom.Point(ol.proj.fromLonLat([8.5149092, 76.9527723], "EPSG:32643")),


  center: ol.proj.fromLonLat([8.5149092, 76.9527723], "EPSG:32643"),
不需要在矢量源上设置投影

如果平铺网格的缩放级别为0到10,则可以使用

tileGrid: ol.tilegrid.createXYZ({
      extent: [291627, 904686, 958569, 1426831],
      maxResolution: 2605.2421875,
      tileSize: [256, 256],
      maxZoom: 10,
}), 
您可能还希望将投影范围设置为匹配

ol.proj.get("EPSG:32643").setExtent([291627, 904686, 958569, 1426831]);
对于原点位于平铺网格左下角的TMS源,OpenLayers期望maxResolution与网格范围的高度匹配,但在您的情况下,它与宽度匹配。一种解决方法是在高度等于宽度的地方使用更大的范围。添加OSM层表明它现在处于正确的位置


html,body,.map{
保证金:0;
填充:0;
宽度:99%;
身高:95%;
}
项目定义(“EPSG:32643”,“+proj=utm+分区=43+基准=WGS84+单位=m+无定义”);
ol.proj.proj4.寄存器(proj4);
ol.proj.get(“EPSG:32643”).setExtent([29162790468691426831]);
var投影=新的ol.proj.projection({
代码:“EPSG:32643”,
范围:[2916279046869585691426831],
});
var mousePositionControl=new ol.control.MousePosition({
坐标格式:ol.坐标.createStringXY(4),
投影:投影,/'EPSG:32643',
//注释以下两行以确定鼠标位置
//放在地图上。
className:“自定义鼠标位置”,
目标:document.getElementById('mouse-position'),
未定义的DHTML:“”,
});
var scaleLine=新的ol.control.scaleLine({
单位:'公制',
});
var范围=[29162790468691426831];
变量fullExtent=[extent[0]、extent[1]、extent[2]、extent[1]+extent[2]-extent[0];
var map=新ol.map({
控件:ol.control.defaults().extend([mousePositionControl,scaleLine]),
目标:“地图”,
图层:[
新ol.layer.Tile({
来源:new ol.source.XYZ({
url:“http://103.10.168.74:8081/tms/1.0.0/district/distgrid“+”/{z}/{x}/{-y}.png”,
投影:投影,
tileGrid:ol.tileGrid.createXYZ({
范围:完整范围,
最大分辨率:2605.2421875,
tileSize:[256,256],
最大缩放:10,
}),
}),
}),
新ol.layer.Tile({
source:new ol.source.OSM(),
不透明度:0.5,
}),
新ol.layer.Vector({
source:新的ol.source.Vector({
功能:[新ol.功能({
几何:新的ol.几何点([614971.4731218630.894]),
})],
}),
renderBuffer:200,
风格:新的ol风格({
图片:新ol.style.Icon({
主播:[0.5,46],
主播:“分数”,
anchorYUnits:'像素',
src:'https://openlayers.org/en/latest/examples/data/icon.png'
})
})
}),
新ol.layer.Vector({
来源:新ol.source.Vector({
特点:[
新ol.功能({
几何:新的ol.几何点([716446.977962414942574.737260181]),
})
]
})
}) 
],
视图:新ol.view({
投影:投影,
单位:“公制”,
缩放:1,
最大分辨率:2605.2421875,
中心:[654496.1365977521155181.2690064],
numZoomLevels:13,
约束中心:对,
最大缩放:10,
minZoom:1,
})