Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
9c41c8d5
Commit
9c41c8d5
authored
Sep 26, 2024
by
Steven
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: fix marker icon
parent
2837816f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
3 deletions
+10
-3
LeafletMap.tsx
web/src/components/LeafletMap.tsx
+10
-3
No files found.
web/src/components/LeafletMap.tsx
View file @
9c41c8d5
import
{
LatLng
}
from
"leaflet"
;
import
{
DivIcon
,
LatLng
}
from
"leaflet"
;
import
{
MapPinIcon
}
from
"lucide-react"
;
import
{
useEffect
,
useState
}
from
"react"
;
import
{
useEffect
,
useState
}
from
"react"
;
import
ReactDOMServer
from
"react-dom/server"
;
import
{
MapContainer
,
Marker
,
TileLayer
,
useMapEvents
}
from
"react-leaflet"
;
import
{
MapContainer
,
Marker
,
TileLayer
,
useMapEvents
}
from
"react-leaflet"
;
const
markerIcon
=
new
DivIcon
({
className
:
"border-none"
,
html
:
ReactDOMServer
.
renderToString
(<
MapPinIcon
size=
{
24
}
/>),
});
interface
MarkerProps
{
interface
MarkerProps
{
position
:
LatLng
|
undefined
;
position
:
LatLng
|
undefined
;
onChange
:
(
position
:
LatLng
)
=>
void
;
onChange
:
(
position
:
LatLng
)
=>
void
;
...
@@ -26,7 +33,7 @@ const LocationMarker = (props: MarkerProps) => {
...
@@ -26,7 +33,7 @@ const LocationMarker = (props: MarkerProps) => {
map
.
locate
();
map
.
locate
();
},
[]);
},
[]);
return
position
===
undefined
?
null
:
<
Marker
position=
{
position
}
></
Marker
>;
return
position
===
undefined
?
null
:
<
Marker
position=
{
position
}
icon=
{
markerIcon
}
></
Marker
>;
};
};
interface
MapProps
{
interface
MapProps
{
...
@@ -37,7 +44,7 @@ interface MapProps {
...
@@ -37,7 +44,7 @@ interface MapProps {
const
LeafletMap
=
(
props
:
MapProps
)
=>
{
const
LeafletMap
=
(
props
:
MapProps
)
=>
{
return
(
return
(
<
MapContainer
className=
"w-full h-72"
center=
{
props
.
latlng
}
zoom=
{
13
}
scrollWheelZoom=
{
false
}
>
<
MapContainer
className=
"w-full h-72"
center=
{
props
.
latlng
}
zoom=
{
13
}
scrollWheelZoom=
{
false
}
>
<
TileLayer
url=
"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
attribution=
""
/>
<
TileLayer
url=
"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
/>
<
LocationMarker
position=
{
props
.
latlng
}
onChange=
{
props
.
onChange
?
props
.
onChange
:
()
=>
{}
}
/>
<
LocationMarker
position=
{
props
.
latlng
}
onChange=
{
props
.
onChange
?
props
.
onChange
:
()
=>
{}
}
/>
</
MapContainer
>
</
MapContainer
>
);
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment