This project is read-only.

Webmap plugin does not update while changing zoom

Aug 25, 2014 at 10:06 PM
Hi,I am new with dot spatial and I have an issue with webmap plugin,I use it with this code
DotSpatial.Plugins.WebMap.WebMapPlugin wm = new Plugins.WebMap.WebMapPlugin();
           wm.App = appManager1;
           
            

            wm.Activate();
It works fine and shows combolist but when I select a layer it just loads an image and does not load anything when I zoom in.It just zoom image and do not load tiles.I do not have any problem with DemoMap and this plugin works fine in that application

Can you help me find my mistake calling this plugin?
thanks a lot
Aug 26, 2014 at 8:07 AM
Hi am2,

why are you activating this plugin like this and not by including it as extension and calling appManager1.LoadExtensions as it is intended to be used?

jany_
Aug 26, 2014 at 8:42 AM
I called appManager1.LoadExtensions on form load but It does not load that extention till I call the code that I mentioned
Aug 26, 2014 at 9:05 AM
Did you include the dlls of the WebMap-Plugin in the Windows Extensions folder of your program?
Aug 26, 2014 at 9:09 AM
Edited Aug 26, 2014 at 9:13 AM
Yes,I installed it using Nuget,should I install it manually?
Does DemoMap uses any proxy or sth like that? I think there must be sth wrong with connecting and updating tiles.Does version of brutile has any effect on this?I have version 0.6
Aug 26, 2014 at 10:00 AM
I'm not sure whether the brutile version could have anything to do with this. Try and use the dlls from the DotSpatial 1.7 full download.

Because I don't know the code your using here a little example in which the WebMap-Plugin should work correctly.
  • Extract the dlls from the DS1.7 full download into one folder.
  • Create a project with this code (that's the only code inside DemoMap):
using System.ComponentModel.Composition;
using System.Windows.Forms;
using DotSpatial.Controls;

public partial class MainForm : Form
    {
        [Export("Shell", typeof(ContainerControl))]
        private static ContainerControl Shell;

        private AppManager appManager;

        public MainForm()
        {
            InitializeComponent();
            appManager = new AppManager();

            if (DesignMode) return;
            Shell = this;
            appManager.LoadExtensions();
        }
    }
  • Put the resulting exe into the folder on the same level as the DemoMap.exe is.
  • Run the exe and see that the WebMap-Plugin works.
Then the only question would be which difference between your own code an this code causes your code to malfunction.