放大位置数组
Zoom in on array of locations
我在 bing 地图上设置最佳视图时遇到了一些小问题。
我已经在互联网上找到了一些解决方案,但不幸的是,它们都不适合我。我的必应地图显示多个地址,工作正常,现在我想调整视图,以便我的地图放大我的图钉。
以下是我的源代码:
function addData(locationInput){
counter = 0;
var locationSet = locationInput.split("#");
//Array from Locations
var locs = new Array();
for(var i = 0; i < locationInput.length; i++){
if(i == 0){
locationSet[0] = locationSet[0].substr(1);
}
var locSet = locationSet[i].split(";");
var location = new Microsoft.Maps.Location(locSet[0], locSet[1]);
locs.push(location);
var pushpin=new Microsoft.Maps.Pushpin(location,{text:counter.toString()});
map.entities.push(pushpin);
counter++;
console.log(this);
}
//Set view boundaries
map.setView({bounds: Microsoft.Maps.LocationRect.fromLocations(locs)});
}
当您从您的位置计算 LocationRect 时,它将紧贴坐标,并且不考虑图钉图标的大小。您可以设置视图设置填充值以说明这一点。试试这个:
map.setView({bounds: Microsoft.Maps.LocationRect.fromLocations(locs), padding: 100});
由于map.setview是异步的,因此视图有时无法正确加载。添加延迟可以为我解决问题。
setTimeout((function () {
map.setView({bounds: Microsoft.Maps.LocationRect.fromLocations(locs)});
}).bind(this), 1500);
相关文章:
- 如何从某个位置顺时针和逆时针循环数组
- 将javascript数组中的项移动到特定位置的有效方法
- 生成ACF标记位置的数组(元素列表后缺少])
- 基于javascript中位置的数组差异
- Javascript删除数组中某个位置之后的项
- 在数组中迭代时的JS循环位置
- 在两个位置显示数组中的随机单词
- javascript递归,按数组位置查找子级
- 检查数组位置是否真的未定义
- 检查值存在于数组位置
- 在数组位置获取并设置cookie值
- 如何访问成员模板中的数组位置
- 递增数组位置
- 返回最低数字的数组位置(非负数)
- 我如何使一个按钮改变Javascript数组位置
- 我如何保存字符串的每个字母在不同的数组位置?并合并回单个字符串
- 下划线-比较两个对象数组(位置)
- for循环中的Ajax不会返回数组位置的正确值,尽管闭包绑定了当前值位置的范围
- 根据对象在Firebase中的数组位置检索对象
- 当使用x作为索引号时.要在函数中显示数组位置,数组返回undefined