Показать изображение во всплывающем окне листовки

Я пытаюсь отобразить значок погоды в маркере карты с помощью API-интерфейса wunderground, Leaflet и Cloudmade. У меня отображается текст и переменная с изображением значка, но я не знаю, как это отобразить. Вот мой код:

jQuery(document).ready(function($) {
    $.ajax({
          url: "http://api.wunderground.com/api/cd48ac26fb540679/conditions/q/pws:KCASANFR128.json",
          dataType: "jsonp",
          success: function(parsed_json) {
              var location = parsed_json['current_observation']['observation_location']['city'];
              var temp_f = parsed_json['current_observation']['temp_f'];
              var icon = parsed_json['current_observation']['icon_url'];
              marker1.bindPopup("Current temperature in " +location+ " is: " + temp_f).openPopup();
        }
    });
});

Я безуспешно пробовал:

marker1.bindPopup( <img src=icon> "Current temperature in " +location+ " is: " + temp_f).openPopup();

Какие-либо предложения?


person Ryan Clark    schedule 13.05.2012    source источник


Ответы (1)


Метод bindPopup маркера просто принимает содержимое HTML в виде строки, поэтому вам также необходимо заключить теги в кавычки - что-то вроде

marker1.bindPopup( "<img src=" + icon_url + "/> Current temperature in " + location + " is: " + temp_f)

должен работать на вас.

person IanI    schedule 16.05.2012
comment
Начиная с ES6, вы также можете шаблонные литералы для форматирования - person Tristan Forward; 02.03.2019