这比你目前给出的要多得多。纬度/经度点和您的地图都有特定的空间参考。如果它们不匹配,您的观点很可能会以意想不到的方式绘制。
您显示的点是标准纬度/经度点。很可能是 Nad83(北美)或 WGS84(世界)。这些是具有地理坐标系的空间参考。您可能正在尝试在Projected Coordinate System上绘制该点。
您需要使 MapControl 的空间参考与您尝试绘制的点的类型相匹配。
由于我不知道您的地图的空间参考,我只能给您一个将纬度/经度转换为 MapControl 当前空间参考的示例。
ISpatialReferenceFactory srFactory = new SpatialReferenceEnvironmentClass();
IGeographicCoordinateSystem gcs = srFactory.CreateGeographicCoordinateSystem((int)esriSRGeoCSType.esriSRGeoCS_WGS1984);
ISpatialReference sr1 = gcs;
IPoint point = new PointClass() as IPoint;
point.PutCoords(-92.96000, 44.9227);
IGeometry geometryShape;
geometryShape = point;
geometryShape.SpatialReference = sr1;
geometryShape.Project(mapControl.SpatialReference);
mapControl.DrawShape(geometryShape);
这会将您的点投影到 MapControls 当前空间参考,然后绘制该点。
祝你好运。