LeafletForBlazor 1.1.0
See the version list below for details.
dotnet add package LeafletForBlazor --version 1.1.0
NuGet\Install-Package LeafletForBlazor -Version 1.1.0
<PackageReference Include="LeafletForBlazor" Version="1.1.0" />
paket add LeafletForBlazor --version 1.1.0
#r "nuget: LeafletForBlazor, 1.1.0"
// Install LeafletForBlazor as a Cake Addin #addin nuget:?package=LeafletForBlazor&version=1.1.0 // Install LeafletForBlazor as a Cake Tool #tool nuget:?package=LeafletForBlazor&version=1.1.0
Leaflet Map for Blazor
You can quickly add a map to the blazor page. This package is under development, but I will keep the code compatible from one version to another.
You can find more information:
Youtube LeafletForBlazor playlist
Sample Code:
Add in _Imports.razor project file
@using LeafletForBlazor
Add in your Blazor Page:
<Map
width="600px"
height="600px"
Parameters="@parameters"
Options="@map_options"
GeoJSON_urls="@urls.ToArray()"
onLoadMap="@OnLoadMap"
onMapClick="@OnMapClick"
onZoomChange="@OnZoomChange">
</Map>
Blazor Code:
@code {
//map initialization parameters
Map.LoadParameters parameters = new Map.LoadParameters()
{
location = new Map.Location()
{
longitude = 26.097133,
latitude = 44.446165
},
zoom_level = 12
};
//map customization
Map.MapOptions map_options = new Map.MapOptions()
{
interaction_options = new Map.InteractionOptions()
{
doubleClickZoom = false
}
};
//working with GEOJson file
/*
GeoJSON_urls <Map> parameter expects an array of JSON url
1. The JSON data complies with the Leaflet documentation
2. A revised format that allows symbolization customization (https://github.com/ichim/LeafletForBlazor-NuGet)
*/
List<string> urls = new List<string>() {
"http://localhost:5078/polygonsfile.json",
"http://localhost:5078/pointsfile.json"
};
//Map events
public void OnLoadMap(Map.OnLoadEventParameters event_args)
{
}
public void OnZoomChange(int zoom_level)
{
}
public void OnMapClick(Map.Location event_args)
{
}
}
JSON file example (GeoJSON_urls Map parameter)
1. Leaflet documentation format
Is the format shown in the Leaflet documentation
GeoJSON specification (RFC 7946)
[
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[ 26.0931846, 44.4432512 ],
[ 26.0945783, 44.4435381 ],
[ 26.0959206, 44.4438006 ],
...
]
]
}
]
2. Improved Leaflet Format. This format allows configuring the symbolization of map elements
Is an leaflet format in which symbolization has been added to the leaflet data
Advantages:
The symbology is stored along with the data.
Changing the symbolization will be done without changing the code
Several applications (web, mobile, etc.) will display the same map, the same symbols
{ "data": [...GeoJSON specification (RFC 7946)...], "symbology": { "default": { "color": "red", "weight": 5, "opacity": 0.4 }, "case": { "field_name": "name", "classes": [ { "value": "commercial", "symbol": { "color": "yellow", "weight": 5, "opacity": 0.4 } }, { "value": "residential", "symbol": { "color": "green", "weight": 5, "opacity": 0.4 } } ] } }, "tooltip": { "fields_name": [ "name", "population" ], "offset": [ 0, 0 ], "permanent": true, "opacity": 0.5, "coordinate_inversion": true } }
JSON "data" paratemeter expects an array of GeoJSON items GeoJSON specification (RFC 7946)
JSON "symbology" parameter expects the custom symbology of GeoJSON items
"symbology": { "default": { "color": "red", "weight": 5, "opacity": 0.4 }, "case": { "field_name": "name", "classes": [ { "value": "Bdul Magheru", "symbol": { "color": "yellow", "weight": 5, "opacity": 0.4 } }, { "value": "Bdul Dacia", "symbol": { "color": "green", "weight": 5, "opacity": 0.4 } } ] }
}
JSON "tooltip" parameter expects the definition of GeoJSON items
"tooltip": { "fields_name": [ "name", "lanes" ], "offset": [ 0, 0 ], "permanent": true, "opacity": 0.5, "coordinate_inversion": true }
Thank you for choosing this package!
Laurentiu Ichim
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net7.0
- Microsoft.AspNetCore.Components.Web (>= 7.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
2.2.2.2 | 678 | 11/4/2024 | |
2.2.2 | 320 | 10/31/2024 | |
2.2.0.4 | 1,319 | 9/22/2024 | |
2.2.0.2 | 244 | 9/17/2024 | |
2.2.0 | 625 | 8/28/2024 | |
2.0.8.8 | 533 | 8/15/2024 | |
2.0.8.6 | 602 | 7/31/2024 | |
2.0.8.2 | 420 | 7/24/2024 | |
2.0.6.8 | 1,432 | 6/7/2024 | |
2.0.6.4 | 476 | 5/29/2024 | |
2.0.6.2 | 124 | 5/28/2024 | |
2.0.4.8 | 221 | 5/23/2024 | |
2.0.4.6 | 1,970 | 4/18/2024 | |
2.0.4.4 | 749 | 3/27/2024 | |
2.0.4.2 | 221 | 3/22/2024 | |
2.0.2.8 | 1,499 | 3/3/2024 | |
2.0.2.6 | 474 | 2/28/2024 | |
2.0.2.4 | 580 | 2/19/2024 | |
2.0.2.2 | 1,380 | 1/24/2024 | |
2.0.0.8 | 449 | 1/18/2024 | |
2.0.0.6 | 1,143 | 12/25/2023 | |
2.0.0.4 | 1,142 | 12/6/2023 | |
1.2.4 | 1,452 | 4/7/2023 | |
1.2.3 | 796 | 4/4/2023 | |
1.2.2 | 844 | 3/27/2023 | |
1.2.1 | 807 | 3/12/2023 | |
1.2.0 | 786 | 3/11/2023 | |
1.1.9 | 767 | 3/9/2023 | |
1.1.8 | 782 | 3/8/2023 | |
1.1.5 | 1,007 | 3/2/2023 | |
1.1.4 | 728 | 2/28/2023 | |
1.1.2 | 790 | 2/25/2023 | |
1.1.1 | 701 | 2/24/2023 | |
1.1.0 | 729 | 2/23/2023 | |
1.0.9 | 849 | 2/23/2023 | |
1.0.8 | 730 | 2/22/2023 | |
1.0.6 | 981 | 2/18/2023 | |
1.0.5 | 841 | 2/17/2023 | |
1.0.4 | 929 | 2/14/2023 | |
1.0.3 | 746 | 2/14/2023 | |
1.0.2 | 753 | 2/14/2023 | |
1.0.1 | 746 | 2/13/2023 | |
1.0.0 | 778 | 2/13/2023 |
2023 02 23
- tooltips for polygons geometry
- tooltips for points geometry
- tooltips for linestring geometry
bug 002:
- without a tooltip, the case/class type symbolization could not be done