#233 using poets as javascript JSON array in the map page

This commit is contained in:
Hamid Reza Mohammadi 2021-10-31 20:27:12 +03:30
parent 255d235f66
commit eae09be110
2 changed files with 17 additions and 14 deletions

View File

@ -26,6 +26,9 @@
<script src="~/js/leaflet-providers.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/OverlappingMarkerSpiderfier-Leaflet/0.2.6/oms.min.js"></script>
<script>
var myGeoJSONPath = '/json/world.json';
var myCustomStyle = {
stroke: true,
@ -46,25 +49,21 @@
var oms = new OverlappingMarkerSpiderfier(map, { keepSpiderfied: false });
@{
foreach (var poet in Model.PoetsWithBirthPlaces)
{
var url = poet.FullUrl.Substring(1);
<text>
var @(url)Icon = L.icon({
iconUrl: '@($"{GanjooRazor.APIRoot.InternetUrl}{poet.ImageUrl}")',
var poets = @(Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model.PoetsWithBirthPlaces, Newtonsoft.Json.Formatting.Indented)));
for (var i = 0; i < poets.length; i++) {
var poet = poets[i];
var icon = L.icon({
iconUrl: poet.ImageUrl,
iconSize: [82, 100],
iconAnchor: [82, 100],
popupAnchor: [0, -28]
});
var @(url)Marker = L.marker([@poet.BirthPlaceLatitude, @poet.BirthPlaceLongitude], { icon: @(url)Icon });
var marker = L.marker([poet.BirthPlaceLatitude, poet.BirthPlaceLongitude], { icon: icon });
@(url)Marker.addTo(map);
oms.addMarker(@(url)Marker);
</text>
}
marker.addTo(map);
oms.addMarker(marker);
}
})
</script>

View File

@ -1,4 +1,3 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
@ -26,6 +25,11 @@ namespace GanjooRazor.Pages
var poets = JArray.Parse(await response.Content.ReadAsStringAsync()).ToObject<List<GanjoorPoetViewModel>>();
PoetsWithBirthPlaces = poets.Where(p => !string.IsNullOrEmpty(p.BirthPlace)).ToList();
foreach (var poet in PoetsWithBirthPlaces)
{
poet.ImageUrl = $"{APIRoot.InternetUrl}{poet.ImageUrl}";
}
}
public async Task<IActionResult> OnGetAsync()