<SfMaps>
<MapsBorder Width="3" Color="red"></MapsBorder>
<MapsZoomSettings Enable="false" />
<MapsLayers>
<MapsLayer ShapeData="@MapData" TValue="String">
<MapsShapeSettings Fill="#E5E5E5">
</MapsShapeSettings>
</MapsLayer>
</MapsLayers>
</SfMaps>
@code {
object MapData;
string path;
protected override async Task OnInitializedAsync()
{
path = "https://raw.githubusercontent.com/faeldon/philippines-json-maps/master/geojson/country/lowres/country.0.001.json";
MapData = Newtonsoft.Json.JsonConvert.DeserializeObject(await _client.GetStringAsync(path));
} } |
[JS] <script> window.open = {
setLocalData: function (data) {
var dataObj = JSON.parse(data);
localStorage["mapdata"] = JSON.stringify(dataObj);
},
getLocalData: function () {
return localStorage["mapdata"];
}
} </script> |
[C#] object MapData; string path;
object dataValue;
protected override async Task OnInitializedAsync()
{
path = "https://raw.githubusercontent.com/faeldon/philippines-json-maps/master/geojson/country/lowres/country.0.001.json";
dataValue = await _client.GetStringAsync(path);
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
await base.OnAfterRenderAsync(firstRender);
if (dataValue != null)
{
await JSRuntime.InvokeAsync<string>("open.setLocalData", dataValue);
MapData = Newtonsoft.Json.JsonConvert.DeserializeObject(await JSRuntime.InvokeAsync<string>("open.getLocalData"));
} } |