Comments (6)
What about using refs?
...
onEachFeature() {
// let map = this.refs.map.leafletElement
}
render() {
return (
<Map
ref='map'
>
...
<GeoJson
data={geoJSON}
color='red'
fillColor='green'
onEachFeature={onEachFeature.bind(this)} />
</Map>
)
}
Calling bind
is only necessary with ES6 classes.
from react-leaflet.
GeoJson
is a descendant of MapLayer
which adds the map
prop to all children here. This means you have access to map
via this.props.map
inside the GeoJson component.
How are you trying to use the map
prop?
from react-leaflet.
Ok, I think I wasn't clear enough, or maybe I am missing something.
I want to access the map
from onEachFeature()
function for my GeoJson layer. So I have this code:
<Map
...
<GeoJson
data={geoJSON}
color='red'
fillColor='green'
map={this}
onEachFeature={onEachFeature} />
</Map>
Now in onEachFeature(feature, layer)
function I can access color and fillColor through this.color
and this.fillColor
respectively. But this.map
is undefined even if I add it to <GeoJson> as map={this}
along with color
and fillColor
.
What am I doing wrong?
from react-leaflet.
I think in your case the best solution is to implement a custom GeoJson
component pretty much the same way as it is done in https://github.com/PaulLeCam/react-leaflet/blob/master/src/GeoJson.js
All you need is to add the onEachFeature
handler to the props
variable in componentWillMount
, it would have access to the map
directly.
from react-leaflet.
Thanks for responses. Using ref
worked like a charm!
from react-leaflet.
Great :)
from react-leaflet.
Related Issues (20)
- [Question] Change z-index and styles of tooltip of React-Leaflet onMouseover
- [Question] React-leaflet does not let react-modal close on first click HOT 2
- Image shrinking when using ImageOverlay
- Marker with invalid lat, long values are shown in Antartica
- Map are don't have HoangSa and TruongSa islands belong to VIetNam by defaults
- Map rendered with missing parts HOT 8
- ESM packages (@react-leaflet/core) need to be imported.
- Iām interested in enhancing the documentation.
- BUG: Control Component event handling HOT 2
- How to add an additional layer?
- MapContainer whenReady doesn't receive target parameter from Leaflet HOT 1
- Problem with rendering OS Maps Leisure Layers HOT 1
- [Turbopack] Parsing css source code failed HOT 5
- Help please
- error rendering <Marker> component in react
- Prevent Vector Layer to automatic scale HOT 3
- Is everything okay with Nextjs v14.1.0 + React v18? Maps doesn't render HOT 4
- Get Distance Function? HOT 2
- How to hide the API Key in the TileLayer?
- Marker is missing data type in typescript definition
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
š Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ššš
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ā¤ļø Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-leaflet.