- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 javascript 代码循环遍历一些用户数据并将每个数据作为标记添加到容器中。然后将该容器添加到诺基亚 map ,并使用 Display zoomTo 缩放到包含所有标记的容器的边界框。然而,就在这发生之后, map 就会自行缩放到原来的位置。 zoomTo 调用是我执行的最后一个代码,因此似乎发生了一些奇怪的事情。
this.finishMapping = function () {
map.objects.add(multiMapContainer);
var markerHopefully = multiMapContainer.objects.get(0);
$.ajax({
dataType: "jsonp",
url: "https://route.api.here.com/routing/7.2/calculateroute.json?app_id=WgevZ2m4AF8WHx1TY6GS&app_code=G11AO2dbvCRTdCjfTf-mUw&waypoint0=geo!" + markerHopefully.coordinate.latitude + "," + markerHopefully.coordinate.longitude + "&waypoint1=geo!" + markerHopefully.coordinate.latitude + "," + markerHopefully.coordinate.longitude + "&mode=fastest;car;",
success: function (data) {
onRouteCalculated(data)
},
jsonp: "jsoncallback"
});
function onRouteCalculated(data) {
if (data.response) {
var position = data.response.route[0].waypoint[0].mappedPosition;
var coordinate = new nokia.maps.map.StandardMarker([position.latitude, position.longitude]);
var tempContainer = new nokia.maps.map.Container();
tempContainer.objects.add(coordinate);
map.zoomTo(multiMapContainer.getBoundingBox().merge(tempContainer.getBoundingBox()), false);
}
}
}
我在 Chrome 中对其进行了调试,我可以看到 zoomTo 实际上会缩放到正确的边界框,但在我点击“继续”按钮后,它会立即跳回最高缩放级别。
最佳答案
我最近遇到了类似的问题。基本问题是包含 <DIV>
对于 map
本身在 map 初始化期间被初始化。我的问题很复杂,因为 map.zoomTo()
无论如何在 map 初始化期间不起作用(因为 2.5.3 map 加载始终是异步的)
问题的症结在于我试图使用 zoomTo()
自 <DIV>
以来在 0x0 像素 map 上还没有显示 - 因此我得到了一个 zoomLevel
零映射。
解决方案是如图所示向 map 添加监听器:
map.addListener("displayready", function () {
if(bbox){map.zoomTo(bbox, false);}
});
map.addListener("resize", function () {
if(bbox){map.zoomTo(bbox, false);}
});
并设置bbox
参数为每个 coordinate
收到如图:
function onCoordinateReceived(coordinate){
if(bbox){
bbox = nokia.maps.geo.BoundingBox.coverAll([
bbox.topLeft, bbox.bottomRight, coordinate]);
} else {
bbox = nokia.maps.geo.BoundingBox.coverAll([coordinate]);
}
map.zoomTo(bbox, false);
}
这样:
map
已经初始化并显示 zoomTo()
在onCoordinateReceived()
会开火map
在 onCoordinateReceived()
之后完成初始化, zoomTo()
在displayready
听众将开火。<DIV>
更新最后发生,zoomTo()
在resize
监听器将开火,这将从缩小 map 变为“正确”缩放级别。关于javascript - 诺基亚/HERE map 在 map.zoomTo 之后返回到 0 级缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20644547/
到目前为止,我已经生成了以下代码来尝试将相关数据整合在一起。 但是,使用“+ 7”函数会产生以下问题。 Registration date = '2018-01-01' 它正在推迟 2018-04-0
我已经成功地将我的自定义购物车发布到 PayPal——它处理订单非常漂亮,当收到付款时,它会将数据发回我在配置中指定的 URL。代码基于此处找到的库:http://www.phpfour.com/bl
我是一名优秀的程序员,十分优秀!