namespace Mapbox.Unity.Map { using System.Collections; using Assets.Scenes.Ride.Scripts; using Assets.Scripts.Apis; using Mapbox.Unity.Location; using UnityEngine; public class InitializeMapWithLocationProvider : MonoBehaviour { [SerializeField] AbstractMap _map; ILocationProvider _locationProvider; private void Awake() { // Prevent double initialization of the map. _map.InitializeOnStart = false; } protected virtual IEnumerator Start() { yield return null; _locationProvider = LocationProviderFactory.Instance.DefaultLocationProvider; _locationProvider.OnLocationUpdated += LocationProvider_OnLocationUpdated; ; } void LocationProvider_OnLocationUpdated(Unity.Location.Location location) { _locationProvider.OnLocationUpdated -= LocationProvider_OnLocationUpdated; //_map.Initialize(location.LatitudeLongitude, _map.AbsoluteZoom); MapApi mapApi = new MapApi(); var result = mapApi.GetData(5492); if (result != null) { //全局保存当前路线信息 GameManger.MapData = result; //初始化map var point = result.List[0].Point; _map.Initialize(new Utils.Vector2d(point[0], point[1]), _map.AbsoluteZoom); //初始化人物 TODO } } } }