Do you have a recommended implemenatation of MarkerClusterer and / or Spiderfier?
Currently i'm looking at adding my marker clusterer script generator inside my MapContainer componentDidMount, but i'm not sure how to reference the 'map' item.
Since you mentioned componentDidMount, you are using class components instead of functional components, then you should just wrap your component with GoogleMapConsumer.
If you are using my wrapper, you can get the reference to map via useContext.
importReact,{useContext}from'react'import{GoogleMapContext}from'@googlemap-react/core'constMyComponent=()=>{const[state,dispatch]=useContext(GoogleMapContext)// You can now access the map object and other objects via `state`.// Remember to check existence, since they might be undefined.state.map&&state.map.setZoom(12)returnnull}
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Hi Gabriel,
Do you have a recommended implemenatation of MarkerClusterer and / or Spiderfier?
Currently i'm looking at adding my marker clusterer script generator inside my MapContainer componentDidMount, but i'm not sure how to reference the 'map' item.
Many thanks,
James
Since you mentioned
componentDidMount
, you are using class components instead of functional components, then you should just wrap your component withGoogleMapConsumer
.If I want to use the context outside of the render method am I able to use, for example:
import {GoogleMapContext} from '@googlemap-react/core'
class MapContainer extends React.Component {
static contextType = GoogleMapContext;
//etc
and then access the map by this.context.state.map?
Hm, I tried the way above and also refactored to a functional component and just used:
import React, {useContext} from "react";
import {
GoogleMapProvider,
MapBox,
Marker,
InfoWindow,
GoogleMapContext
} from "@googlemap-react/core";
const MapContainer = props => {
const map = useContext(GoogleMapContext);
console.log(map);
//etc
and I'm just seeing {state: undefined, dispatch: undefined} as my console output for map, any idea why :/
If you are using my wrapper, you can get the reference to
map
viauseContext
.