#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, приятно было найти решение самостоятельно! Пожалуйста, опубликуйте свое решение в качестве ответа ниже (а не в своем вопросе ) и примите его, чтобы сообщить другим, что ваша проблема устранена.