带react-leaflet的自定义标记图标 [英] custom marker icon with react-leaflet
本文介绍了带react-leaflet的自定义标记图标的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我尝试了我在网上找到的所有东西,包括Stackoverflow和Github,但我仍然做不到.
I tried everything I found on the web, Stackoverflow and Github, and I still can't make it.
我想用一个自定义图标创建一个自定义标记,但是在下面的代码中,我总是遇到错误:'TypeError:options.icon.createIcon不是一个函数'
I want to make a custom marker with a custom icon, but with my code below I always got an error : 'TypeError: options.icon.createIcon is not a function'
这是我的代码(文件夹路径中没有错误,所有内容都在src/js或src/img中)
Here is my code (no error on the paths to folders, everything is in src/js or src/img)
Icon.js
import L from 'leaflet';
const iconPerson = L.Icon.extend({
options: {
iconUrl: require('../img/marker-pin-person.svg'),
iconRetinaUrl: require('../img/marker-pin-person.svg'),
iconAnchor: null,
popupAnchor: null,
shadowUrl: null,
shadowSize: null,
shadowAnchor: null,
iconSize: new L.Point(60, 75),
className: 'leaflet-div-icon'
}
});
export { iconPerson };
MarkerPinPerson
import React from 'react';
import { Marker } from 'react-leaflet';
import { iconPerson } from './Icons';
export default class MarkerPinPerson extends React.Component {
render() {
return (
<Marker
position={this.props.markerPosition}
icon={ iconPerson }
>
</Marker>
);
}
}
真的在寻找您的帮助!
推荐答案
我终于找到了 Icon.js 文件的正确代码:
I finally found the correct code for the Icon.js file :
import L from 'leaflet';
const iconPerson = new L.Icon({
iconUrl: require('../img/marker-pin-person.svg'),
iconRetinaUrl: require('../img/marker-pin-person.svg'),
iconAnchor: null,
popupAnchor: null,
shadowUrl: null,
shadowSize: null,
shadowAnchor: null,
iconSize: new L.Point(60, 75),
className: 'leaflet-div-icon'
});
export { iconPerson };
这篇关于带react-leaflet的自定义标记图标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文