Страница 1 из 1

Проблема с получением информации из nominatim

Добавлено: 11 июн 2013, 15:14
novice
Подскажите, пожалуйста, в чем проблема:
есть функция, которая запрашивает данные из базы nominatim

Код: Выделить всё

    function GeoCodingNom(lat, lon){

        LatitudeAddress = lat;
        LongitudeAddress = lon;
        $("#spinerPoc").css('display','block');
        $.ajax({
            url: "",// url задается корректно, просто здесь он убран
            type: "GET",
            data: "format=json&lat=" + lat + "&lon=" + lon + "&zoom=" + mapInst.zoom + "&addressdetails=1&limit=10&countrycodes=ru",
            processData: false,
            contentType: false,
            success: function (response) {
                var otv = jQuery.parseJSON( response );
                alert(response);
                alert(otv);
                if (otv == null) otv = response;
                $('#DescOrent').val(otv.display_name);
                return otv;
            },
            complete: (function(){$("#spinerPoc").css('display','none');})
        });
    }
причем тестовые поля заполняются, но функция всегда возвращает void.

Re: Проблема с получением информации из nominatim

Добавлено: 11 июн 2013, 17:42
Denis Rykov
void? Ваше сервис рабочий? Руками если GET-запрос сформировать - данные приходят?

Re: Проблема с получением информации из nominatim

Добавлено: 11 июн 2013, 17:49
novice
все работает, код пишется квалифицированными специалистами. в response приходит object Object. В тестовых полях spinerPoc и DescOrent есть информация.

Велика вероятность, что этот код просто скопипасчен, Меня интересует как из него получить строку с адресами, которую можно было вывести в попапе.

Re: Проблема с получением информации из nominatim

Добавлено: 11 июн 2013, 18:00
Denis Rykov
Вы, наверное, меня не поняли. Я говорю сформируйте строку GET-запроса вручную, откройте браузер и вставьте туда подготовленный URL. Судя по вашему примеру сервис должен вернуть ответ в формате JSON, так вот данные, которые пришлет сервис должны отобразиться в окне браузера. Пример JSON-ответа.

Re: Проблема с получением информации из nominatim

Добавлено: 11 июн 2013, 18:13
novice
http://мойIpАдрес/nom/reverse/format=json&lat=47&lon=39&zoom=10&addressdetails=1&limit=10&countrycodes=ru
такая строка должна быть? не понятно между reverse и format есть что-то?

Re: Проблема с получением информации из nominatim

Добавлено: 11 июн 2013, 18:16
novice
http://мойIpАдрес/nom/reverse?format=json&lat=47&lon=39&zoom=10&addressdetails=1&limit=10&countrycodes=ru

и выводятся города.
Вопрос - в аякс запросе в строке url: "http://${model.map_ip}/nom/reverse" не должна быть строка "http://${model.map_ip}/nom/reverse?"

Re: Проблема с получением информации из nominatim

Добавлено: 11 июн 2013, 18:20
Denis Rykov
А теперь в консоли посмотрите какой GET-запрос формирует ваше приложение. Ну ей-богу элементарные вещи.

Re: Проблема с получением информации из nominatim

Добавлено: 12 июн 2013, 22:03
novice
Ну ей-богу элементарные вещи.
Элементарные вещи - такие элементарные, но разработчики, которые писали этот код, не смогли решить проблему за день. Я о ней сообщил до обеда, напоминал, даже изменили кодировку на сервере, но к вечеру проблема так и не была решена.

Эта проблема - вообще к моим задачам никакого отношения не имеет. Мне не поручали заниматься баг-фиксом и найденные чужие ошибки в этом проекте я игнорирую. Но в всплывающей подсказке должна быть информация из nominatim-a и поэтому все упирается в эту функцию.

Если нет сложно, выложите, пожалуйста аякс запрос к базе номинатим, который по координатам возвращал бы один объект(город, улица, дом).

Re: Проблема с получением информации из nominatim

Добавлено: 13 июн 2013, 05:06
Denis Rykov
Что значит выложите AJAX-запрос? Открываете документацию, изучаете API, пробуете руками сформировать нужный вам запрос, если всё работает, то подставляете эти же GET-параметры в свою AJAX-обертку.

P.S. Я не пользуюсь Nominatim-ом, и вообще готов помогать только в двух случаях, если человек совсем не в теме, то дать некоторое общее направление, или если он что-то пробует, но не получается. Ваш вопрос не попадает ни в одну из категорий.