Отформатируйте код маркера в React Google Map - PullRequest
0 голосов
/ 28 февраля 2019

<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.

...