未找到 React-Leaflet 标记文件

2022-01-12 00:00:00 leaflet javascript react-leaflet

我有非常简单的代码来使用 react-leaflet 显示地图并在其上放置一个标记.但是,我在浏览器控制台中收到以下两个错误

I've got very simple code to display a map using react-leaflet and place a marker on it. However, i get the following two errors in my browser console

GET http://localhost:8080/marker-icon-2x.png404(未找到)

GET http://localhost:8080/marker-icon-2x.png 404 (Not Found)

GET http://localhost:8080/marker-shadow.png 404(未找到)

GET http://localhost:8080/marker-shadow.png 404 (Not Found)

我尝试通过下载这两个图像并将它们放在根目录来解决此问题.有用.但是,如何更改 react-leaflet 标记元素查找标记图像的 URL?我想将它们存储在./images"而不是根目录中.

I tried to fix this issue by downloading those two images and placing them at the root. It works. However, how can i change the URL the react-leaflet marker element looks for the marker images? I'd like to store them in "./images" rather than at the root.

推荐答案

试试这个:)

由于某种原因,React 传单不包含图像,您需要重新设置默认图标图像.

React leaflet for some reason do not include images and you will need to reset default icons image.

以下是一些工作示例,希望它能解决您的问题.

Below is some working example, I hope it will solve your issue.

您还可以从公共链接之一添加图标

You also can add icons from one of public link

https://cdnjs.com/libraries/Leaflet.awesome-markers

import React, { Component } from 'react';
import L from 'leaflet';
import {
    Map, TileLayer, Marker, Popup
} from 'react-leaflet'
import 'leaflet/dist/leaflet.css';
import './style.css';


import icon from 'leaflet/dist/images/marker-icon.png';
import iconShadow from 'leaflet/dist/images/marker-shadow.png';

let DefaultIcon = L.icon({
    iconUrl: icon,
    shadowUrl: iconShadow
});

L.Marker.prototype.options.icon = DefaultIcon;

相关文章