我正在使用 Mapbox SDK 开发适用于 Android 的 Unity 移动应用程序,该应用程序可显示玩家在地图上的位置。我在更新玩家位置时遇到问题。它只有在地图初始化时才能正确放置。当我四处移动时,玩家在地图上的位置不会改变。这是负责更新玩家位置的代码:
public void Initialize(AbstractMap map, ILocationUpdater locationUpdater)
{
_map = map;
_map.OnInitialized += () => _mapInitliazed = true;
_locationUpdater = locationUpdater;
_locationUpdater.LocationUpdated += UpdatePosition;
_initialized = true;
}
void UpdatePosition(LocationUpdatedArgs args)
{
if (_mapInitliazed && _initialized)
{
transform.position = _map.GeoToWorldPosition(args.Location.LatitudeLongitude);
}
}
当我使用 unity remote 测试我的应用程序时,它完全可以正常工作 - 位置始终正确且频繁地更新。