ThinkGeo.com    |     Documentation    |     Premium Support

Create Base map from Shapefile

Howdy,
I am a new user looking to evaluate ThinkGeo Desktop for WPF as a map in a commercial product. We dont need a lot, just need to show a world map ( Dont need tiles, probably just a local world shapefile ). Something like below. We need to be able to style the base map, ( black, white ), highlight country’s on mouse overs, and place custom points on the map based upon lat long data, recognize mouse actions ( click and mouse over of sections of the base map. Pan, Zoom, and all of the normal control.

I have experience with the Bing Map Control and the Esri WPF control, but none with your product. We are not looking use any of the cloud services. If you could point me at an example that might be useful for me, suggested sample world map shapefiles, I would appreciate it.

I have the basic example and the “How Do I” app up and running. But am not sure where to head from there.

Thank you.

Thanks Paul,
Yes. We could do that. I created a demo project for you.

DemoProject.zip (3.2 MB)

This project is based on the ThinkGeo UI WPF version 12 and .Net framework 4.7. I combined few samples in the “how do I sample”. Here are some more comments which could help you understand the demo project.

  1. The file I am using is Countries02_3857.shp. Because the projection is 3857(the same as google). If you want to drop a regular decimal degree coordinate, you need convert it from 2346 to 3857. You will find in Line 91 I did the conversion.

    ProjectionConverter projectionConverter = new ProjectionConverter(4326, 3857);
    projectionConverter.Open();
    PointShape pointLocation = (PointShape)projectionConverter.ConvertToExternalProjection(point);

  2. If we switch to edit mode, I don’t want the mouse move/highlight usable. so the mouse move/highlight enabled only when we are in the navigation mode.

  3. If you want to draw some different types shapes. You could just modify the track mode.
    mapView.TrackOverlay.TrackMode = TrackMode.***;

I also created a video show you what it looks like.

Go ahead let us know if you have any question.

Thanks

Frank

Very straight forward, thank you very much!

I appreciate the effort and the quickness with which that was provided.

No problem Paul,
Go ahead let us know if you have any more question.

Thanks

Frank