Маркер html добавляет дополнительные свойства в azure карты - PullRequest
1 голос
/ 28 марта 2020

Я загружаю все сайты компаний в виде маркеров html на картах azure и по щелчку на них запускаю всплывающее окно, отображающее информацию о сайте c.

Маркер Html не имеет никакого пакета свойств, через который я могу передать кучу информации сайта, которую я могу использовать во всплывающем окне, которое я намереваюсь отобразить при нажатии маркера html.

azure карта документации на HtmlMarker: https://docs.microsoft.com/en-us/javascript/api/azure-maps-control/atlas.htmlmarkeroptions?view=azure-maps-typescript-latest

Любая помощь?

1 Ответ

2 голосов
/ 28 марта 2020

Просто добавьте пользовательское свойство к маркеру html и добавьте к нему свои данные. Эти данные всегда будут с маркером. Например:

var popup = new atlas.Popup();

//Create a HTML marker and add it to the map.
var marker = new atlas.HtmlMarker({
    position: [0, 0]
});

//Add your custom property with data
marker.properties = { 
    title: 'hello world'
};

map.markers.add(marker);

 map.events.add('click', marker, function(e){   
    //Get the clicked marker.                
    var m = e.target;

    //Get custom properties on the marker
    var p = m.properties;

     popup.setOptions({
        content: `<div style="padding:10px;">${p.title}</div>`,
        position:m.getOptions().position,
        pixelOffset: [0, -18]
    });

    //Open the popup.
    popup.open(map);                    
});
...