Designed Retro Map Component
This is a Designed Retro Map Component, we have passed the RetroStyle as a styles props to Map. A zoom, object center (latitude and longitude) and style have been provided as props. Icons can be clicked and Info windows easily dismissed.
React.createElement(class DesignedRetroMapExample extends Component {state = {showingInfoWindow: false,selectedPlace: {},activeMarker: null,}onMapClicked = () => {if (this.state.showingInfoWindow) {this.setState({showingInfoWindow: false,activeMarker: {},})}}onMarkerClick = (props, marker) => {this.setState({selectedPlace: props,activeMarker: marker,showingInfoWindow: true,})}render() {const styleRetro= [{elementType: 'geometry',stylers: [{color: '#ebe3cd',},],},{elementType: 'labels.text.fill',stylers: [{color: '#523735',},],},{elementType: 'labels.text.stroke',stylers: [{color: '#f5f1e6',},],},{featureType: 'administrative',elementType: 'geometry.stroke',stylers: [{color: '#c9b2a6',},],},{featureType: 'administrative.land_parcel',elementType: 'geometry.stroke',stylers: [{color: '#dcd2be',},],},{featureType: 'administrative.land_parcel',elementType: 'labels.text.fill',stylers: [{color: '#ae9e90',},],},{featureType: 'landscape.natural',elementType: 'geometry',stylers: [{color: '#dfd2ae',},],},{featureType: 'poi',elementType: 'geometry',stylers: [{color: '#dfd2ae',},],},{featureType: 'poi',elementType: 'labels.text.fill',stylers: [{color: '#93817c',},],},{featureType: 'poi.park',elementType: 'geometry.fill',stylers: [{color: '#a5b076',},],},{featureType: 'poi.park',elementType: 'labels.text.fill',stylers: [{color: '#447530',},],},{featureType: 'road',elementType: 'geometry',stylers: [{color: '#f5f1e6',},],},{featureType: 'road.arterial',elementType: 'geometry',stylers: [{color: '#fdfcf8',},],},{featureType: 'road.highway',elementType: 'geometry',stylers: [{color: '#f8c967',},],},{featureType: 'road.highway',elementType: 'geometry.stroke',stylers: [{color: '#e9bc62',},],},{featureType: 'road.highway.controlled_access',elementType: 'geometry',stylers: [{color: '#e98d58',},],},{featureType: 'road.highway.controlled_access',elementType: 'geometry.stroke',stylers: [{color: '#db8555',},],},{featureType: 'road.local',elementType: 'labels.text.fill',stylers: [{color: '#806b63',},],},{featureType: 'transit.line',elementType: 'geometry',stylers: [{color: '#dfd2ae',},],},{featureType: 'transit.line',elementType: 'labels.text.fill',stylers: [{color: '#8f7d77',},],},{featureType: 'transit.line',elementType: 'labels.text.stroke',stylers: [{color: '#ebe3cd',},],},{featureType: 'transit.station',elementType: 'geometry',stylers: [{color: '#dfd2ae',},],},{featureType: 'water',elementType: 'geometry.fill',stylers: [{color: '#b9d3c2',},],},{featureType: 'water',elementType: 'labels.text.fill',stylers: [{color: '#92998d',},],},]return (<div><MapComponentapiKey={['your MAP_API_KEY']}zoom={14}center={{lat: 40.7485722, lng: -74.0068633}}style={{width: '48vw',height: '45vh',}}styles={styleRetro}onClick={this.onMapClicked}><Markerposition={'Chelsea Market, 75 9th Ave, New York, NY 10011'}name={'Chelsea Market'}onClick={this.onMarkerClick}/><InfoWindowmarker={this.state.activeMarker}visible={this.state.showingInfoWindow}content={`<div><p>${this.state.selectedPlace.name}</p></div>`}/></MapComponent></div>)}})