Клуб API Карт

Найдено на тему «hint»:
Изменить положение хинта
mvblog
28 декабря 2016, 16:42

Здравствуйте! Если на карту добавить хинт для какого-то placemark, то, при наведении на этот placemark, хинт будет появляться с правой стороны снизу от курсора и будет двигаться вместе в курсором, до тех пор, пока курсор будет находиться над placemark. Можно ли как-то параметризовать хинт, чтобы он

  1. Не двигался за курсором
  2. Появлялся всегда над меткой (placemark) и был по центру по отношению к ней?

Спасибо

1 комментарий
Placemark,Hint
Настройки задержки всплывающей подсказки для 2.1
Удалённый пользователь
28 ноября 2016, 08:07

Помогите на примере куда вставлять изменить задержку всплывающей подсказки closeTimeout и openTimeout описанной в https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/Popup-docpage/#param-options.closeTimeout. 

Большое спасибо за понимание, и жду и надеюсь на помощь :)

1 комментарий
Hint
Смещение hint относительно курсора + hintOpenTimeout
Александра Шеповаленко
7 сентября 2016, 16:49

Есть код:

var myGeoObject3 = new ymaps.GeoObject({
        geometry: {
            type: "Polygon",
            coordinates: [
                [
        [54.05819978591472, 38.046490706947935],
		[54.05610370023967, 38.04033918362962],
		[54.047098118548575, 38.03655190450039],
		[54.0409435966752, 38.03454377534407],
		[54.04167113006929, 38.04321211395966],
		[54.04742282172294, 38.0468610120738],
		[54.04980311135109, 38.04553256190202],
		[54.05819978591472, 38.046490706947935]
                ]
            ],
            fillRule: "nonZero"
        },
        properties:{
        balloonContent: text3,
	    hintContent: texthint3
        }

    }, {
        draggable: false,
	    fillColor: '#C4D7F5',
        strokeColor: ['#1F4D7D'],
        strokeWidth: [1]
        },
		
    );

Нужно установить hintOpenTimeout, hintCloseTimeout и optionOffset (нужен сдвиг, сейчас хинт справа, нужен сверху по центру от курсора). 

Прошу подсказать куда и как запихнуть данные вещи, так как все уже перепробовали. Буду очень благодарна за помощь!

2 комментария
hint
сделать плавное открытие и закрытие hint
Дарья Миронова
22 марта 2016, 13:59

Здравствуйте. Хочу чтобы хинт отрывался и закрывался подобно тому как работают функции в jquery fadeIn и faveOut . Как это сделать? при закрытие если указать вот так myMap.hint.close() то закрытие происходит очень медленно. А если указать вот так myMap.hint.close(true); - то слишком быстро. Заметила что в доках 2.0 версии есть данные опции https://tech.yandex.ru/maps/doc/jsapi/2.0/ref/reference/Hint-docpage/  , а вот на 2.1 нет

3 комментария
hint,maps
Позиционирование hint у объекта
Дарья Миронова
21 марта 2016, 21:04

Здравствуйте. Не знаю как правильно сделать позиционирование hint у маркера. Хочу вот что сделать: При наведении на маркер нужно чтобы у него появлялся хинт, который не будет двигаться туда сюда пока мы водим мышкой по маркеру. Также хочу сделать чтобы если хинт не вмещается на карте чтобы он появлялся в свободном месте карты(т.е если маркер внизу карты, хинт поялвляется сверху). Пример как должно работать http://prntscr.com/ai54di - это по умолчанию. А если к примеру не влазит снизу то должно отобразить вот так http://prntscr.com/ai55k1 . 

Вот какую только смогла сделать реализацию.

               
myMap = new ymaps.Map('map', {
     center:[53.902257,27.561831], // Минск
     zoom:13
});

var myCollection = new ymaps.GeoObjectCollection(),
HintLayout = ymaps.templateLayoutFactory.createClass( "<div class='item-mark' style='display: block'>" +
   "<p class='it-name'>{{ properties.title }}</p>" +
    "<p class='rec-addr'>{{ properties.address }}</p>" +
    "</div>", {}
),
markers='<?= json_encode($markers) ?>';
markers = JSON.parse(markers);

markers.forEach(function(item, i, markers) {
    var coords = item.coord.split(','),
        myPlacemark = new ymaps.Placemark([coords[0],coords[1]],{
             category_alias : item.category_alias,
             account : item.account,
             address: "Москва, ул. Зоологическая",
             title: "Центр современного"
        },{
             hintLayout: HintLayout,
             openHintOnHover: false,
        });

        myPlacemark.events.add('mouseleave',function(e) {
             var object = e.get('target');
             object.hint.close(true);
        });

        myPlacemark.events.add('mouseenter',function(e) {
             var object = e.get('target');
             object.hint.open(object.geometry.getCoordinates());
        });

        myCollection.add(myPlacemark);
});

По данной реализации появляется хинт, но если он не влазит на карте, то он просто не виден, а надо чтобы он в свободном месте появлялся

9 комментариев
hint,maps
Всплывающая подсказка со своим текстом в Яндекс.Картах
Денис
29 февраля 2016, 12:26

Использую Яндекс.Карты API 1.1.

Сделал вывод нескольких регионов как единое целое и их закрашивание в один цвет. Такой вопрос - есть ли возможность сделать всплывающую подсказку как на данном примере со своим текстом (которая появляется при наведении на данную совокупность регионов) без установки new Placemark?

<!DOCTYPE html>
<!-- saved from url=(0023)http://www.contoso.com/ -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Direction Yandex map.</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script src="https://api-maps.yandex.ru/1.1/index.xml?modules=regions" type="text/javascript"></script><script type="text/javascript">
        (function(A) {
            A.indexOf = A.indexOf || function(object) {
                for (var i = 0, l = this.length; i < l; i++) {
                    if (i in this && this[i] === object) {
                        return i; } }
                return -1;
            };
        })(Array.prototype);

        YMaps.jQuery(function () {
            var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);
            map.setCenter(new YMaps.GeoPoint(104, 65), 3);
            var zoom = new YMaps.Zoom();map.addControl(zoom);map.enableScrollZoom(true);
            YMaps.Regions.load("ru", function (state, response) {
                if (state == YMaps.State.SUCCESS) {

                  var shapes, polygon;
                  var regionVba1 = response.filter(function (obj) {
                  var names = [
"Кировская область", "Нижегородская область", "Пензенская область", "Республика Марий Эл", "Республика Мордовия", "Самарская область", "Саратовская область", "Ульяновская область", "Чувашская Республика"
                  ];
                  return (names.indexOf(obj.name) > -1);
              });
              for (var i = 0; i < regionVba1.length; i++) {
                  shapes = regionVba1[i].metaDataProperty.encodedShapes;
                  for (var ix = shapes.length; ix--; ) {
                      polygon = YMaps.Polygon.fromEncodedPoints(
                          shapes[ix].coords,
                          shapes[ix].levels
                      );
                      polygon.setStyle({
                          polygonStyle: {
                              fillColor: "b00c0c50",
                              strokeColor: "b00c0c"
                          }
                      }); 
                      map.addOverlay(polygon);
                  }
              }
			  var placemark1 = new YMaps.Placemark(new YMaps.GeoPoint(45, 54), {hasHint: true});
			  placemark1.name = "Поволжская зона";
			  map.addOverlay(placemark1);
        })
    </script></head>
<body><div id="YMapsID" style="width:990px;height:455px"></div></body>
</html>

hint,hintContent,подсказка,API 1.x
Добавить ссылку на сторонний ресурс в хинт
Удалённый пользователь
29 ноября 2015, 11:45

Здравствуйте!

Определяю для карты макет хинта следующим образом:

 HintLayout = ymaps.templateLayoutFactory.createClass( '<div class="my-hint">' +

Т.е. хочу, чтобы была ссылка на сторонний ресурс. Далее создаю метку:

     myMap.geoObjects

Однако, ссылка не ведёт на http://www.bobbydazzler.ru/, я остаюсь на той же страничке. Подскажите, в чем причина? И как исправить ситуацию?

1 комментарий
ссылка,hint,API 2.1,ссылка в хинте,хинт
Хинт всплывающий над GeoObject
Valkinaz
9 октября 2015, 09:32

Привет.

Никак не получается понять, как изменить поведение хинта. Мне нужно, чтобы он не следовал за мышкой, а показывался над меткой. Кроме того, у хинта может быть разная высота, что нужно учитывать при позиционировании. Сейчас что имею:

1) При формировании geoObject установлен флаг "openHintOnHover: false".

2) geoObject'ы объединены в кластер. 

3) Для кластера добавлено событие, которое слушает "mouseenter" и "mouseleave".

4) Собственно, показ/исчезновение самого хинта уже сделано, осталось лишь правильно получить координаты и спозиционировать. Вот тут и застрял.

Кусок кода:

2 комментария
API 2.1,GeoObject,hint,cluster,mouseleave,mouseenter
hintLayout для hintContent
Azat Zagitov
30 июля 2015, 11:00

Добрый день. Помогите пожалуйста.

Необходимо добавить на карту 70+ объектов. Добавляю через objectManager, данные для карты берутся из json-файла. 

Я прописал шаблон для хинта, он работает, если я добавляю одну метку. Но если я передаю описание объектов в json, то не могу применить шаблон. Как нужно написать то? 

 

На карте заместа хинта получаю [object Object]. 

Вот пример из json-файла. 

{

    "type": "FeatureCollection",

    "features": [

        {

          "type": "Feature", 

          "id": 0, 

          "geometry": {

            "type": "Point", 

            "coordinates": [55.831903, 37.411961]

          }, 

          "properties": {

              "hintContent": {

                "a_face": "0",

                "a_name": "Azat",

                "a_sport": "Football",

                "a_city": "Ufa"

              }, 

              "hintLayout": "HintLayout"

          }

        }

    ]

}

10 комментариев
hint,метка,JSON,layout