листовка маркера не отображается в компоненте реакции _ Листовка реакции - PullRequest
1 голос
/ 28 апреля 2019

это мой компонент карты листовки. Я хочу получить доступ к корникатам, когда пользователь нажимает на карту. Я могу правильно получить мои кординокаты, но мне также нужно пометить маркер на карте.

<Map
        center={[35.4090, 51.1555]}
        zoom={18}
        maxZoom={20}
        attributionControl={true}
        zoomControl={true}
        onClick={this.handleClick}
        doubleClickZoom={false}
        scrollWheelZoom={true}
        dragging={true}
        animate={true}
        easeLinearity={0.35}
    >

        <Marker position={this.state.points === '' ? this.state.points : [35.4090, 51.1555]} icon={pointerIcon} key={this.state.points}>
            <Popup position={this.state.points}>
                Popup for any custom information.
                </Popup>
        </Marker>

    </Map>

 handleClick = (e) => {
        const { lat, lng } = e.latlng;
        this.setState({points: [lat,lng]})
    }

и это пользовательский значок.

import marker from '../../css/mapMarker.png'
import L from 'leaflet'

export const pointerIcon = new L.Icon({
    iconUrl: {marker},
    iconRetinaUrl: {marker},
    iconAnchor: [5, 55],
    popupAnchor: [10, -44],
    iconSize: [25, 55],
    shadowSize: [68, 95],
    shadowAnchor: [20, 92],
})

1 Ответ

1 голос
/ 29 апреля 2019

В представленном примере свойства iconUrl и iconRetinaUrl передаются как значения объекта :

export const pointerIcon = new L.Icon({
    iconUrl: {marker},  
    iconRetinaUrl: {marker},
    //..
})

, в то время как для L.icon ожидается, что они будут представлены в виде значений String, это, скорее всего, причина, по которой маркер не может быть отображен

Итак, измените пример, чтобы инициализировать свойство как строковые данные:

export const pointerIcon = new L.Icon({
    iconUrl: marker,  
    iconRetinaUrl: marker,
    //..
})

или укажите URL-адрес в качестве значения свойства, например:

export const pointerIcon = new L.Icon({
    iconUrl: "https://maps.google.com/mapfiles/kml/pushpin/red-pushpin.png",  
    //..
}) 

Вот демоверсия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...