Почему мой значок отображается в виде пустого квадрата с листовкой JS?

#javascript #leaflet #icons #marker

Вопрос:

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

Я просмотрел документацию на веб-сайте листовки и все такое, но мне не повезло. Вероятно, это что-то довольно простое, чего мне не хватает, или я пукаю мозгами, ха-ха. Мы очень ценим любую помощь. Дайте мне знать, какой еще код вам может понадобиться для решения этой проблемы. ТИА!

Вот мой сценарий

 <script>
  //create variable to hold the map element, give initial settings to map
  var map = L.map("map", {
    center: [38.1, -98.583333],
    zoom: 4,
  });
  //add OSM tile layer to map element
  L.tileLayer(
    "https://{s}.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}{r}.png",
    {
      attribution:
        'amp;copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors amp;copy; <a href="https://carto.com/attributions">CARTO</a>',
      subdomains: "abcd",
      maxZoom: 19,
    }
  ).addTo(map);

  var logo = L.icon({
    iconUrl: "imgs/patrickLogo.png",
    iconSize: [20, 20],
  });

  L.marker([40.308746567390294, -105.08229135535235], { icon: logo })
    .addTo(map)
    .bindPopup("Berthoud, CO");
</script>
 

ОБНОВЛЕНИЕ: Это ошибка 404. Что это значит и как я могу это исправить?

РЕШЕНО: изменил путь к изображению на абсолютный путь, и это сработало! Спасибо вам всем.

 var logo = L.icon({
    iconUrl:
      "https://d2q79iu7y748jz.cloudfront.net/s/_squarelogo/8ec294c2f144d43bf5d7ec5f4f96d0c9",
    iconSize: [20, 20],
  });
 

Комментарии:

1. Скорее всего, ошибка 404 при попытке загрузки imgs/patrickLogo.png . Проверьте вкладку «Сеть» в инструментах разработки вашего браузера.

2. @IvanSanchez, ты был прав. Есть идеи, как это исправить? Спасибо.

3. Привет @ChipWeir, приятно было найти решение самостоятельно! Пожалуйста, опубликуйте свое решение в качестве ответа ниже (а не в своем вопросе ) и примите его, чтобы сообщить другим, что ваша проблема устранена.