I am trying to use Leaflet (https://leafletjs.com/) javascript library in a project built on ASP .NET MVC5.
For the sake of simplicity, let's just say I am trying to run the following code (provided by this tutorial: https://leafletjs.com/examples/crs-simple/crs-simple.html) on a view (Index.cshtml), which uses a predefined layout (_Layout.cshtml):
Index.cshtml
In the layout view, I placed the following code in the head of the HTML code, as instructed by these guidelines: https://leafletjs.com/download.html
But this doesn't work and I can see that the library is not recognized even by Intellisense.
I have also tried downloading the package and as indicated, I added the files to the project, but having in mind the MVC project structure, I added the leaflet.css file to the Content folder and the rest of the js files to the Scripts folder. And in the layout view, I added:
Now, Intellisense recognizes the library but still, when running the project the map is not shown in the view.
Am I missing something obvious here, maybe an import?
I am a beginner at using .NET framework and the ASP .NET MVC structure and I am still trying to figure out my way across this framework.
Realized I was loading from the Index view so leaflet.js was not being loaded first.
I can now see the leaflet map section but the PNG image is not being loaded. I believe leaflet is not being able to find so where should I place the image in the project structure? I tried placing it in the Content and Scripts folder but no luck.
Answer
Solved my first problem as already mentioned in the update: I was loading directly from the Index view which didn't enable leaflet.js to load first.
Concerning the problem loading the image, I found the correct path to place it by analysing the path the GET method was using to retrieve the image, which was simply on the main folder of the project, among other folders like Contents, Models, etc.
No comments:
Post a Comment