Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.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
这里将API JavaScript缩放映射到带边距的边界_Javascript_Here Api - Fatal编程技术网

这里将API JavaScript缩放映射到带边距的边界

这里将API JavaScript缩放映射到带边距的边界,javascript,here-api,Javascript,Here Api,我在一个组中有几个标记,我想放大,所以它们都是可见的 使用mapsjs的3.0版,我可以做到这一点: var cameraData = map.getCameraDataForBounds(group.getBounds()); map.setZoom(cameraData.zoom - 0.5, true); map.setCenter(cameraData.position, true); 对于3.1版GetCameradAforBounds,已删除,并告诉我这样做: map.getVie

我在一个组中有几个标记,我想放大,所以它们都是可见的

使用mapsjs的3.0版,我可以做到这一点:

var cameraData = map.getCameraDataForBounds(group.getBounds());
map.setZoom(cameraData.zoom - 0.5, true);
map.setCenter(cameraData.position, true);
对于3.1版
GetCameradAforBounds
,已删除,并告诉我这样做:

map.getViewModel().setLookAtData({
  bounds: group.getBoundingBox()
}, true);
我的问题是,使用新方法,标记非常接近边缘。使用3.0方式,我可以通过简单地调整缩放级别来增加一些边距。这在3.1中似乎不可能,因为我似乎找不到
getCameradAforBounds
的替代品

放大然后再缩小,看起来很粗糙,会破坏我的动画。我试图加宽边界框,但找不到可靠的方法


如果您能提供有关如何存档的任何建议,我们将不胜感激。

对于这种情况,您只需在创建新地图实例时使用填充选项即可:

//假设存在HtmleElement和baseLayer
var map=新的H.map(htmlElement、baseLayer、{
...
填充:{顶部:50,左侧:50,底部:50,右侧:50}
});
或者动态设置填充:

map.getViewPort().setPadding(50,50,50,50)
下面是更新的示例

有关更多详细信息,请参阅或文档