{"id":23463722,"url":"https://github.com/ptv-logistics/xserver.net-samples","last_synced_at":"2025-04-14T08:14:33.646Z","repository":{"id":17730139,"uuid":"20563274","full_name":"ptv-logistics/xserver.net-samples","owner":"ptv-logistics","description":"A collection of PTV xServer .NET samples and demos","archived":false,"fork":false,"pushed_at":"2023-10-20T15:45:00.000Z","size":85910,"stargazers_count":9,"open_issues_count":0,"forks_count":6,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-14T08:14:21.192Z","etag":null,"topics":["c-sharp","dotnet","gis","ptv-xserver","shapefile","sharpmap","wms"],"latest_commit_sha":null,"homepage":"http://xserverinternet.azurewebsites.net/xserver.net/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ptv-logistics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-06-06T12:43:09.000Z","updated_at":"2023-05-24T18:15:16.000Z","dependencies_parsed_at":"2022-08-23T21:21:19.425Z","dependency_job_id":null,"html_url":"https://github.com/ptv-logistics/xserver.net-samples","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptv-logistics%2Fxserver.net-samples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptv-logistics%2Fxserver.net-samples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptv-logistics%2Fxserver.net-samples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptv-logistics%2Fxserver.net-samples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ptv-logistics","download_url":"https://codeload.github.com/ptv-logistics/xserver.net-samples/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248843950,"owners_count":21170495,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-sharp","dotnet","gis","ptv-xserver","shapefile","sharpmap","wms"],"created_at":"2024-12-24T09:15:33.101Z","updated_at":"2025-04-14T08:14:33.625Z","avatar_url":"https://github.com/ptv-logistics.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"xserver.net-samples\n===================\n\nA collection of samples and demos for [PTV xServer .NET](https://xserverinternet.azurewebsites.net/xserver.net/).\n\n\n### Resources\n\n* [xserver.net](https://github.com/ptv-logistics/xserver.net) - Source code for PTV xServer.NET\n* [xserver.net-docs](https://ptv-logistics.github.io/xserver.net-docs) - API documentation for xServer.NET\n* [DemoCenter](https://xserverinternet.azurewebsites.net/xserver.net/) - PTV xServer.NET Demo Center\n* [NuGet Package](https://www.nuget.org/packages/Ptv.XServer.Net) - Install-Package Ptv.XServer.Net\n\n\n### Remarks\nFor xServer internet an additional authentication is needed compared to an on-premise solution. This authentication consists of a common user/password pair which has to be set at the corresponding property of the Map control. A special user \u003cem\u003extok\u003c/em\u003e exists which can be used for unregistered clients. The corresponding password, called xToken, can be [obtained](https://www.ptvgroup.com/en/solutions/products/ptv-xserver/test-now) to grant full access of xServer functionality.\n\nDue to this full access the xToken cannot be provided in the source code. Instead, place holders are used. They are replaced when the build process is started by a tool called \u003cem\u003eInsert-XS.Net-Token.exe\u003c/em\u003e. When this tool finds an appropriate place holder, it shows a dialog to insert the xToken.\n\nTo access multiple sample projects without any tedious repetition of xToken insertion, \u003cem\u003eInsert-XS.Net-Token.exe\u003c/em\u003e can be used to substitute the place holders in \u003cstrong\u003eall\u003c/strong\u003e projects. This tool is located in \u003cem\u003elibs\u003c/em\u003e subfolder of the base directory. Via command line add the following parameters:\n\nInsert-XS.Net-Token.exe -path \"base directory of xserver.net-samples project\"\n\n\n### The samples\n\n#### [ActiveX](ActiveX) \\#interop\nShows how to use the map as ActiveX control\n\n\u003cimg src=\"Screenshots/ActiveX.png\" width=\"360\" title=\"ActiveX\"\u003e\n\n#### [BasemapTooltips](BasemapTooltips) \\#xserver-1\nShows how to display city/street information as tool tip by reverse locating\n\n\u003cimg src=\"Screenshots/BasemapTooltips.png\" width=\"360\" title=\"BasemapTooltips\"\u003e\n\n#### [Circles](Circles) \\#custom-data\nShows how to render circles with a geographic radius\n\n\u003cimg src=\"Screenshots/Circles.png\" width=\"360\" title=\"Circles\"\u003e\n\n#### [CustomBgProfiles](CustomBgProfiles) \\#xserver-1\nShows how to switch the basemap profile \n\n\u003cimg src=\"Screenshots/CustomBgProfiles.png\" width=\"360\" title=\"CustomBgProfiles\"\u003e\n\n#### [CustomInit](CustomInit) \\#customize\nShows how to explicitly initialize the xMapServer base map\n\n#### [CustomLayout](CustomLayout) \\#customize\nShows how to set-up a map-layout with custom gadgets\n\n\u003cimg src=\"Screenshots/CustomLayout.png\" width=\"360\" title=\"CustomLayout\"\u003e\n\n#### [CustomLocalizer](CustomLocalizer) \\#customize\nShows how to use your own string resources to localize the texts of the control.\n\n#### [CustomPanAndZoom](CustomPanAndZoom) \\#customize\nShows how to change the default behavior for pan/zoom interaction.\n\n\u003cimg src=\"Screenshots/CustomPanAndZoom.png\" width=\"360\" title=\"CustomPanAndZoom\"\u003e\n\n#### [DemoCenter](DemoCenter) \\#xserver-1\nSource code for xServer.NET demo center.\n\n\u003cimg src=\"Screenshots/DemoCenter.png\" width=\"360\" title=\"DemoCenter\"\u003e\n\n#### [DrawMode](DrawMode) \\#customize\nThe basic code to add an interactor for drawing custom polygons\n\n\u003cimg src=\"Screenshots/DrawMode.png\" width=\"360\" title=\"DrawMode\"\u003e\n\n#### [DragAndDrop](DragAndDrop) \\#customize\nShows how to implement drag\u0026drop for elements on the map.\n\n\u003cimg src=\"Screenshots/DragAndDrop.png\" width=\"360\" title=\"DragAndDrop\"\u003e\n\n#### [ExtensibilityTest](ExtensibilityTest) \\#customize\nTests for customization and extensions of the map control \n\n\u003cimg src=\"Screenshots/ExtensibilityTest.png\" width=\"360\" title=\"ExtensibilityTest\"\u003e\n\n#### [FeatureLayers](FeatureLayers) \\#xserver-1\nShows how to render Feature Layers on the control\n\n\u003cimg src=\"Screenshots/FeatureLayers.png\" width=\"360\" title=\"FeatureLayers\"\u003e\n\n#### [FormsMapCS](FormsMapCS) \\#hello-world\nShows how to add the map to a Windows Forms application in C#\n\n#### [FormsMapVB](FormsMapVB) \\#hello-world\nShows how to add the map to a Windows Forms application in VB.NET\n\n\u003cimg src=\"Screenshots/FormsMapVB.png\" width=\"360\" title=\"FormsMapVB\"\u003e\n\n#### [leaflet-vb6](https://github.com/ptv-logistics/leaflet-vb6) \\#featured \\#interop \\#vb6 \\#javascript \\#leaflet\nEmbed leaflet-based maps within classic desktop applications\n\n\u003cimg src=\"https://github.com/ptv-logistics/leaflet-vb6/blob/master/screenshot.png\" width=\"360\" title=\"leaflet-vb6\"\u003e\n\n#### [Mandelbrot](Mandelbrot) \\#customize\nShows how to implement a client-side tile provider and demonstrates the \"Infinite Zoom\" feature\n\n\u003cimg src=\"Screenshots/Mandelbrot.png\" width=\"360\" title=\"Mandelbrot\"\u003e\n\n#### [ManySymbols](ManySymbols) \\#customize\nShows practices to display many symbols with the ShapeLayer\n\n\u003cimg src=\"Screenshots/ManySymbols.png\" width=\"360\" title=\"ManySymbols\"\u003e\n\n#### [ManySymbols2](ManySymbols2) \\#customize\nShows how to display even more symbols by implementing a custom layer\n\n\u003cimg src=\"Screenshots/ManySymbols2.png\" width=\"360\" title=\"ManySymbols2\"\u003e\n\n#### [MapArrowDemo](MapArrowDemo) \\#customize\nShows how to build custom shapes for the shape layer\n\n\u003cimg src=\"Screenshots/MapArrowDemo.png\" width=\"360\" title=\"MapArrowDemo\"\u003e\n\n#### [MFCMapDialog](MFCMapDialog) #\\interop\nShows how to add the map to an MFC application\n\n\u003cimg src=\"Screenshots/MFCMapDialog.png\" width=\"360\" title=\"MFCMapDialog\"\u003e\n\n#### [MultipleContainers](MultipleContainers) \\#customize\nTest for map controls in multiple tab-, split, and dock-containers\n\n\u003cimg src=\"Screenshots/MultipleContainers.png\" width=\"360\" title=\"MultipleContainers\"\u003e\n\n#### [MemAssertDemo](MemAssertDemo) \\#testing\nA utility class + demo that helps to track-down memory-leaks in your code.\n\n#### [MemoryPressureTest](MemoryPressureTest) \\#testing\nTips to optimize xServer.NET for limited-memory scenarios\n\n#### [PieChartsAndExport](PieChartsAndExport) \\#user-data\nShows how to render arbitrary WPF elements and print/export the map content\n\n\u003cimg src=\"Screenshots/PieChartsAndExport.png\" width=\"360\" title=\"PieChartsAndExport\"\u003e\n\n#### [Providers](Providers) \\#interop \\#3rd-party\nShows how to add 3rd-party basemap tiles\n\n\u003cimg src=\"Screenshots/Providers.png\" width=\"360\" title=\"Provieders\"\u003e\n\n#### [RoutingVB](RoutingVB) \\#interop\nShows how to add drag\u0026drop routing to a Visual Basic project.\n\n#### [SelectionDemo](SelectionDemo) \\#customize\nShows how to render custom icons and select them by dragging a rubber band\n\n\u003cimg src=\"Screenshots/SelectionDemo.png\" width=\"360\" title=\"SelectionDemo\"\u003e\n\n#### [ServerSideRendering](ServerSideRendering) \\#xserver-1\nShows how to render additional xMap layers with tooltip interaction\n\n\u003cimg src=\"Screenshots/ServerSideRendering.png\" width=\"360\" title=\"ServerSideRendering\"\u003e\n\n#### [SharpMap.Widgets](https://github.com/ptv-logistics/SharpMap.Widgets) #interop \\#featured \\#leaflet\nBuild responsive map applications for web and desktop\n\n\u003cimg src=\"Screenshots/SharpMap.Win.png\" width=\"360\" title=\"SharpMap.Widgets\"\u003e\n\n#### [SimpleWms](SimpleWms) \\#3rd-party\nShows how to add simple WMS (with \"Google\" EPSG:3857) layers to the control\n\n\u003cimg src=\"Screenshots/SimpleWms.png\" width=\"360\" title=\"WmsTest\"\u003e\n\n#### [SymbolsAndLabels](SymbolsAndLabels) \\#customize\nShows how to draw symbols with an attached label tag\n\n\u003cimg src=\"Screenshots/SymbolsAndLabels.png\" width=\"360\" title=\"SymbolsAndLabels\"\u003e\n\n#### [TourPlanningDemo](TourPlanningDemo) \\#xserver-1\nShows practices how to use the new xTour 1.18 job api @xServer internet\n\n\u003cimg src=\"Screenshots/TourPlanningDemo.png\" width=\"360\" title=\"TourPlanningDemo\"\u003e\n\n#### [ToursAndStopsMultiCanvas](ToursAndStopsMultiCanvas) \\#customize\nShows how to build one logical layer containing different canvases rendered before and after the xMap labels\n\n\u003cimg src=\"Screenshots/ToursAndMultiCanvas.png\" width=\"360\" title=\"ToursAndMultiCanvas\"\u003e\n\n#### [VdiPerformance](VdiPerformance) \\#testing\nBenchmark for different settings that influence performance on Virtual Desktop Environments (VDI)VdiPerformance\n\n\u003cimg src=\"Screenshots/VdiPerformance.png\" width=\"360\" title=\"VdiPerformance\"\u003e\n\n#### [WMTSLayer](WMTSLayer) \\#new \\#wms \\#xserver-2 \\#3rd-party\nDemonstrates the integration and initialization of a layer showing Web Map Tile Service (WMTS) content.\n\n\u003cimg src=\"Screenshots/WMTSLayer.png\" width=\"360\" title=\"WMTSLayer\"\u003e\n\n#### [Xmap1Rest](Xmap1Rest) \\#xserver-1\nShows how to initialize the base map using the Xmap1 tile and wms APIs.\n\n#### [Xmap2LayerFactoryTest](Xmap2LayerFactoryTest) \\#xserver-2\nDemonstrates the API for native Xmap2/FeatureLayer support.\n\n\u003cimg src=\"Screenshots/Xmap2LayerFactoryTest.png\" width=\"360\" title=\"Xmap2LayerFactoryTest\"\u003e\n\n#### [XYNSegments](XYNSegments) \\#xserver-1\nShows how to select and render xServer XYN-Segments\n\n\u003cimg src=\"Screenshots/XYNSegments.png\" width=\"360\" title=\"XYNSegments\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fptv-logistics%2Fxserver.net-samples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fptv-logistics%2Fxserver.net-samples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fptv-logistics%2Fxserver.net-samples/lists"}