I have a C# WPF application which has browser control to display a Google Map.

Google Maps API v3 is being used in the application.

I use data received from a service to plot users current location and history. So a lot of markers and polylines are in use.

But to use Google Maps API, we need to be connected to the internet for sending requests to the server. And I believe that the API wont work offline even with the Enterprise Edition.

I need an alternative to the Google Maps API (preferably open source) to work completely offline, which provide similar services like marking locations, drawing lines, zoom, etc., I don't have lots of time to finish this. So instead of trying out the different available APIs, I was hoping somebody must have done a similar thing so I can finish my task on time. I am currently trying out ArcGIS. Is it good enough for my purpose? Is there an open source alternative?