Вопрос по javascript, leaflet, json, ajax – Показать изображение в Leaflet Popup

9

Я пытаюсь, чтобы значок погоды отображался на маркере карты, используя api, Leaflet и Cloudmade от wunderground. Я получил отображаемый текст и переменную с изображением значка, но я не уверен, как заставить его показать. Вот мой код:

<code>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();
        }
    });
});
</code>

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

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

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

Ваш Ответ

1   ответ
10

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

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

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

Начиная с ES6 вы также можетеTemplate Literals для форматирования

Похожие вопросы