问题
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.png 404 (Not Found)
GET http://localhost:8080/marker-shadow.png 404 (Not Found)
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.
回答1:
Try to do this :)
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;
回答2:
It seems not all stuff is properly integrated together when using react, leaflet and react-leaflet. I had the same problem and found this
https://github.com/PaulLeCam/react-leaflet/issues/453
You need to setup leafelet itself again, as something brokes after importing leaflet.css.
Hope it helps
来源:https://stackoverflow.com/questions/49441600/react-leaflet-marker-files-not-found