Как исправить ошибку в "map.getview (). Setcenter" openlayers? - PullRequest
0 голосов
/ 24 сентября 2019

Я реализую openlayers в .net MVC с C #.Я пытаюсь центрировать карту, и в локальной сети она работает, но на сервере выдается ошибка.

Когда я комментирую строку map.getview().setcenter, остальная часть проекта работает

 $.ajax({
        url: "GetCoordinateSibuc",
        type: "post",
        dataType: 'json',
        data: JSON.stringify({ clientId: $('#filterClientSelect').val(), sibucId: $('#filterSibuc').val() }),
        contentType: "application/json, charset=utf-8",
        success: function (response) {

            map.getView().setCenter([response.longitud, response.latitud], 11);

            var sibucStyle = new ol.style.Style({
                image: new ol.style.Icon(({
                    anchor: [0.5, 5],
                    anchorXUnits: 'fraction',
                    anchorYUnits: 'pixels',
                    opacity: 1,
                    scale: 1,
                    src: '/Content/images/report/mark_sibuc1.png'
                }))
            });

Я ожидаючтобы получить центр карты в координатах, но я получаю ошибку в JS, как:

Сценарий завершается по таймауту.

И в журнале сервера:

perflib 1008

perfnet 2004

1 Ответ

0 голосов
/ 24 сентября 2019

Вы используете неправильный метод.map.setCenter() получает только один параметр, который является центром.Так что вы можете использовать этот код:

map.getView().setCenter([response.longitud, response.latitud]);

Для получения дополнительной информации вы можете проверить Openlayers API здесь о setCenter().Также есть другой метод, который вы можете использовать вместо setCenter().Он имеет больше опций, таких как масштабирование, центр и т. Д., Проверьте здесь для API.Я думаю, что это то, что вам нужно:

map.getView().animate({center: [response.longitud, response.latitud]}, {zoom: 11});

Надеюсь, это поможет.

...