laptop and a wrench

Bug

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

Zuletzt veröffentlicht: August 25, 2014 ArcGIS Engine
Bug-ID-Nummer NIM075542
EingereichtNovember 17, 2011
Zuletzt geändertJune 5, 2024
Gilt fürArcGIS Engine
Gefunden in Version10.0
ProgrammspracheC#
BetriebssystemWindows OS
Betriebssystemversion7
StatusWill Not Be Addressed

Zusätzliche Informationen

NotifyMapPropertiesChanged after the maps spatial reference has been updated.

Workaround

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

Schritte zur Reproduzierung

Bug-ID: NIM075542

Software:

  • ArcGIS Engine

Benachrichtigung erhalten, wenn sich der Status eines Bugs ändert

Esri Support App herunterladen

Weitere Informationen zu diesem Thema erkunden

Unterstützung durch ArcGIS-Experten anfordern

An den technischen Support wenden

Esri Support App herunterladen

Zu Download-Optionen wechseln