Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.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
Javascript OpenLayers在更改图层时缩放_Javascript_Map_Openlayers_Openstreetmap_Zooming - Fatal编程技术网

Javascript OpenLayers在更改图层时缩放

Javascript OpenLayers在更改图层时缩放,javascript,map,openlayers,openstreetmap,zooming,Javascript,Map,Openlayers,Openstreetmap,Zooming,我正在使用OpenLayers地图开发一个移动应用程序。我有三个不同的层次。层位于不同的投影中,因此我变换范围以及与它们的位置连接的所有内容 当我更改图层时,贴图缩小1,每次更改图层时,贴图缩小一点 我已经尝试为“map.getZoom”添加1或2,但也没有效果 是什么导致了这种奇怪的行为?如果有帮助,我可以附加所需的代码 function showOsm() { var extent = map.getExtent(); zoom = map.getZoom();

我正在使用OpenLayers地图开发一个移动应用程序。我有三个不同的层次。层位于不同的投影中,因此我变换范围以及与它们的位置连接的所有内容

当我更改图层时,贴图缩小1,每次更改图层时,贴图缩小一点

我已经尝试为“map.getZoom”添加1或2,但也没有效果

是什么导致了这种奇怪的行为?如果有帮助,我可以附加所需的代码

function showOsm() {

    var extent = map.getExtent();

    zoom = map.getZoom();
    var center = map.getCenter();

    var oldProjection = map.getProjectionObject().getCode();

    map.setBaseLayer(osmLayer);

    extentOsm = extent.transform(new OpenLayers.Projection(oldProjection), map
            .getProjectionObject());

    koko = 1;

    center = center.transform(new OpenLayers.Projection(oldProjection), map
            .getProjectionObject());

    estateBoundsOverlay.setVisibility(false);
    taskPoints.removeAllFeatures();

function showMml() {

    var extent = map.getExtent();

    zoom = map.getZoom();
    var center = map.getCenter();

    var oldProjection = map.getProjectionObject().getCode();

    if (firstStart){
        map.zoomToMaxExtent();
    }

    map.setBaseLayer(layer);

    extentMml = extent.transform(new OpenLayers.Projection(oldProjection), map
            .getProjectionObject());

    center = center.transform(new OpenLayers.Projection(oldProjection), map
            .getProjectionObject());

    taskPoints.removeAllFeatures();

这些函数调用层(map.setBaseLayer-此函数使层可见)。我有标准的图层属性(包括maxExtent、restrictedExtent、ZoomLevel、projection和displayProjection)。

请显示一些代码这里是示例代码。可能您的第一次检测错误,即使图层(未)隐藏也会触发?