• Как в 2Gis Api реализуется автозаполнение?

    @Reenko
    Node.JS Developer
    Документация по АПИ 2ГИС доступна по ссылке
    api.2gis.ru/doc/maps/quickstart

    Для многих функций требуется иметь персональный ключ (необходимо написать в ТП)

    Для получения саггестов достаточно AJAX запроса, например
    http://catalog.api.2gis.ru/2.0/suggest/list?key=<b>[!!!KEY!!!]</b>&region_id=1&lang=ru&output=json&q=Ленина%B0+1


    возвращает следующий объект
    {
      "meta": {
        "code": 200,
        "api_version": "2.0.1.3.9",
        "issue_date": "20160331"
      },
      "result": {
        "total": 10,
        "items": [{
          "hint": {
            "text": "ленина, 12",
            "highlighted_text": [{
              "style": "normal",
              "text": "ленина, 12"
            }]
          }
        }, {
          "hint": {
            "text": "ленина, 1",
            "highlighted_text": [{
              "style": "normal",
              "text": "ленина, 1"
            }]
          }
        }, {
          "hint": {
            "text": "ленина, 18",
            "highlighted_text": [{
              "style": "normal",
              "text": "ленина, 18"
            }]
          }
        }, {
          "hint": {
            "text": "ленина 12 новосибирск",
            "highlighted_text": [{
              "style": "highlighted",
              "text": "ленина 1"
            }, {
              "style": "normal",
              "text": "2 новосибирск"
            }]
          }
        },
    ...
     {
          "hint": {
            "text": "ленина, 19",
            "highlighted_text": [{
              "style": "normal",
              "text": "ленина, 19"
            }]
          }
        }]
      }
    }
    Ответ написан
    1 комментарий
  • Как отцентровать балун?

    @Reenko
    Node.JS Developer
    В документации есть пример в котором "хвостик" по центру балуна и указывает в метку.

    https://tech.yandex.ru/maps/jsbox/2.1/balloon_autopan

    (код с документации)
    /**
     * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки.
     * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose
     * @function
     * @name applyElementOffset
     */
    applyElementOffset: function () {
        this._$element.css({
            left: -(this._$element[0].offsetWidth / 2),
            top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight)
        });
    }
    Ответ написан
    Комментировать