ThinkGeo.com    |     Documentation    |     Premium Support

Exception when switching to OSM

Hi,


In my application, I allow two different data sources... shapefiles using EPSG:4326 and the OSM Overlay.  The shapefiles are the default data.  I add all my overlays to the map when the application first starts and just change the visibility of the overlays and apply the proper projections.  When I switch to OSM, I get the following exception:


The map unit you are using is not compatable with the GoogleLayer .  Make sure you are using Meters and that your projection is 90013 to ensure compatability.

Parameter name: canvas.MapUnit


I do switch my MapUnit to meter, and I wasn't receiving this error before I upgraded to version 5.5.68.0.   Any help would be appreciated.


 


.Ryan.



 Hi Ryan,


 
Thanks for reporting this issue. We used to fix another bug that the invisible overlay doesn't sync position after panning, so we refresh the overlay when turning invisible overlay to visible. Unfortunately, the map unit you set doesn't sync to the overlay level at this point so that this issue happens. I have fixed this issue and please get 5.5.78.0 tomorrow or set the following line of code before setting the visibility of the OpenStreetMapOverlay temporary.
Map1.MapUnit = GeographyUnit.Meter;
// set this temporary to workaround.
Map1.Overlays[osmKey].MapArguments.MapUnit = GeographyUnit.Meter;
Map1.Overlays[osmKey].IsVisible = true;

 
Please let me know if you have more queries.
 
Thanks for reporting again.
Howard

Hi Howard, 
 Thanks, the new version fixes that issue.  However, I am finding that every time I change from OSM to my shapefile mode, I get a 404 exception.  I can fix it by setting error drawing mode to draw errors, and it doesn’t seem to draw anything…  I’ll leave as draw exceptions for now, but just wanted to pass along the issue I am seeing. 
  
 .Ryan.