Мой код javascript проходит через некоторые пользовательские данные и добавляет каждый в качестве маркера в контейнер. Затем он добавляет этот контейнер к карте Nokia и использует Display ZoomTo для увеличения до ограничивающей рамки контейнера, содержащего все маркеры. Однако, сразу после этого карта просто масштабируется полностью назад. Звонок zoomTo является последним из моего кода, который выполняется, поэтому кажется, что происходит что-то странное.Карты Nokia/ЗДЕСЬ возвращаются к уровню 0 zoom после 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 масштаба для правильного ограничивающего прямоугольника, а затем сразу же после того, как я нажал на кнопку «Продолжить», он возвращается к самому высокому уровню масштабирования.
Ах, это просто то, что мне нужно. Я понятия не имел о существовании displayready и не понимал, что мой контейнер меняет размер. –