<GoogleMap
defaultZoom={props.zoom}
defaultCenter={props.center}
>
{props.places &&
props.places.map((place, i) => {
if (!props.providerDetailsId) {
if (place.providerKey === props.setSelectedCard) {
iconName = 'http://maps.google.com/mapfiles/ms/icons/yellow.png'
} else {
iconName = markerImages
}
return (
<Marker
id={place.id}
key={place.id}
position={{lat: lat, lng: lng}}
icon={iconName}
onMouseOver={ () => props.onToggleOpen(this, i)}
onMouseOut={ () => props.onToggleMouseOut(this, i)}
onClick={ () => props.onClick(place.providerKey, props)}
>
{props.infoWindows[i].isOpen && (
<InfoWindow onCloseClick={() => props.onToggleOpen(i)}>
<Hover>
<div >
{"index " + i +"-"+ place.providerKey}
<HoverLink href="#">{place.displayName}</HoverLink>
</div>
</Hover>
</InfoWindow>
)}
</Marker>
);
} else {
if (place.providerKey.toString() === props.providerDetailsId) {
console.log(place.providerKey.toString() +"====" + props.providerDetailsId)
iconName = 'http://maps.google.com/mapfiles/ms/icons/yellow.png'
return (
<Marker
id={place.id}
key={place.id}
position={{lat: lat, lng: lng}}
icon={iconName}
onMouseOver={props.onToggleOpen.bind(this, i)}
onMouseOut={props.onToggleMouseOut.bind(this, i)}
onClick={props.onClick(place.providerKey, props)}
>
{props.infoWindows[i].isOpen && (
<InfoWindow onCloseClick={props.onToggleOpen.bind(i)}>
<Hover>
<div >
{"index " + i +"-"+ place.providerKey}
<HoverLink href="#">{place.displayName}</HoverLink>
</div>
</Hover>
</InfoWindow>
)}
</Marker>
);
}
}
})}
</GoogleMap>
Вот фрагмент для примера GoogleMap с маркером.В этом фрагменте есть Маркер в if и else. Могут ли некоторые отформатировать код и дать мне знать, как создать отдельную функцию и вернуть оттуда Маркер.Мое требование - отформатировать код маркера. Есть ли способ, которым мы можем создать функции маркера и вернуть оттуда код маркера, а не разделять его на if if.