radioman / greatmaps

GMap.NET - Great Maps for Windows Forms & Presentation
912 stars 408 forks source link

Combined pull request #138

Open kd7mrx opened 5 years ago

kd7mrx commented 5 years ago

This pull request incorporates my own changes and those from several other contributors:

1) Corrected map name OpenStreetOsmProvider => OpenCycleMapProvider in Testing/Demo.Docking so the UI matches what the code is doing.

2) Corrected spelling of 'Sattelite' to 'Satellite' throughout. This affects the names shown in the Demo UIs and also any client which currently selects the OpenStreetMapQuestSatteliteProvider (sic) at initialization but improves consistency in the code and UI for the future.

3) Incorporated the (very nice!) OpenStreetMapCustomProvider from JusteBlanc.

4) Add an AddProvider interface in GMap.Providers so that applications can create their own private map provider classes and incorporate them at runtime without having to recompile the GMap.NET sources. I added lines to Demo.WindowsForms and Demo.WindowsPresentation that instantiate a new provider (named "OpenStreetMapPrivateProvider") that's pointed to my local tile server as an example.

5) Changed "http:" to "https:" requests throughout OpenStreetMapProvider and its derivatives.

6) Removed the dummy HTTP Referer header that was causing problems with OpenStreetMap's servers.

7) Incorporated dwcullop's BuildInfo tool as a submodule and use it to construct a valid UserAgent string that identifies Gmap.NET.Core with the build version and date as the client making the request.

I realize this is a big bundle of mostly unrelated changes and therefore somewhat hard to review. Changes #1, #2, the AddProvider method from #4 and changes #5, #6 and #7 are visible as individual commits on my branch. Change #3 is merged directly from JusteBlanc's fork.