laptop and a wrench

漏洞

The basemap layer does not display the correct extent and displays wrong values for latitude and longitude when turning off the ‘IBaseMapLayer::InvalidateCache’ method.

上次发布: August 25, 2014 ArcGIS Engine
漏洞 ID 编号 NIM075542
已提交November 17, 2011
上次修改时间June 5, 2024
适用范围ArcGIS Engine
找到的版本10.0
编程语言C#
操作系统Windows OS
操作系统版本7
状态Will Not Be Addressed

附加信息

NotifyMapPropertiesChanged after the maps spatial reference has been updated.

解决办法

Need to call NotifyMapPropertiesChanged after the maps spatial reference is updated. Below you see a modified version of the customers CenterMapAt procedure with this call added. Friend Sub CenterMapAt(ByVal pCenter As IPoint) Dim geo As CGeoGraphicsCjmtk = CGeoGraphicsCjmtk.Instance If m_MapControl IsNot Nothing Then 'Test to see if we are getting near the edge of the map If ResetCentralMeridian(m_ProjectedCoordinateSystem.CentralMeridian(True), New CPosition(pCenter.Y, pCenter.X)) Then 'If so, move the central meridian to the center point entered and re-project the map m_MapControl.SpatialReference = UpdateMapCentralMeridian(pCenter.X) Refresh(MapLayer.All) End If pCenter = geo.ConvertGeographicPointToProjectedPoint(pCenter.X, pCenter.Y) m_MapControl.CenterAt(pCenter) Dim baseLayer As IBasemapLayer = TryCast(m_MapControl.Layer(m_MapControl.LayerCount - 1), IBasemapLayer) If baseLayer IsNot Nothing Then If m_UseInvalidateCache Then baseLayer.InvalidateCache() Else baseLayer.NotifyMapPropertiesChanged(m_MapControl.Map, True) End If End If End If End Sub

重现步骤

漏洞 ID: NIM075542

软件:

  • ArcGIS Engine

当漏洞状态发生变化时获得通知

下载 Esri 支持应用程序

发现关于本主题的更多内容

获取来自 ArcGIS 专家的帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项