I am working on software for a system that has targets displayed on the map. Each target has its position stored in the model in both UTM coordinates and Geodetic latitude/longitude. Our map data is in UTM, so we use UTM data when plotting the targets using a SimpleMarkerOverlay. Our map's unit is GeographyUnit.Meter.
The problem is that we cannot figure out how make the format used for UTM to match properly with the format ThinkGEO uses by default with GeographyUnit.Meters. Our map is in UTM Zone 12 (between longitude 108 W and 114 W). It seems like the coordinates of markers are only set with X/Y. We pass the Easting and Northing for this, but whenever there is a target that goes in a zone outside the map's default, its position is still calculated with respect to the map's default zone.
For example, suppose there is a target with longitude -111, which is the center of zone 12. The user manually edits the longitude to -105, which is the center of zone 13 (this will be outside the range of the map file we are using, but we want to allow the user to do that). The target's position on the map will not change. The easting value has not changed, only the zone (the target's position with respect to the zone's center is still the same). How can we calculate the position of a marker so that it takes UTM zones into account instead of only the easting?