|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using Mapbox.Map;
|
|
|
|
|
using Mapbox.Utils;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
namespace Mapbox.Unity.Map.Interfaces
|
|
|
|
|
{
|
|
|
|
|
public interface IMap : IMapReadable, IMapWritable, IUnifiedMap { }
|
|
|
|
|
|
|
|
|
|
public interface IMapReadable
|
|
|
|
|
{
|
|
|
|
|
Vector2d CenterMercator { get; }
|
|
|
|
|
float WorldRelativeScale { get; }
|
|
|
|
|
Vector2d CenterLatitudeLongitude { get; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets the zoom value of the map.
|
|
|
|
|
/// This allows for zoom values in between actual zoom level "AbsoluteZoom" requested from the service.
|
|
|
|
|
/// </summary>
|
|
|
|
|
float Zoom { get; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets the zoom value at which the map was intialized.
|
|
|
|
|
/// </summary>
|
|
|
|
|
int InitialZoom { get; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets the zoom value at which the tiles will be requested from the service.
|
|
|
|
|
/// Use this only for calls which require an integer value of zoom to be passed in.
|
|
|
|
|
/// </summary>
|
|
|
|
|
int AbsoluteZoom { get; }
|
|
|
|
|
Transform Root { get; }
|
|
|
|
|
float UnityTileSize { get; }
|
|
|
|
|
Texture2D LoadingTexture { get; }
|
|
|
|
|
Material TileMaterial { get; }
|
|
|
|
|
|
|
|
|
|
HashSet<UnwrappedTileId> CurrentExtent { get; }
|
|
|
|
|
event Action OnInitialized;
|
|
|
|
|
event Action OnUpdated;
|
|
|
|
|
Vector2d WorldToGeoPosition(Vector3 realworldPoint);
|
|
|
|
|
Vector3 GeoToWorldPosition(Vector2d latitudeLongitude, bool queryHeight = true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public interface IMapWritable
|
|
|
|
|
{
|
|
|
|
|
void SetCenterMercator(Vector2d centerMercator);
|
|
|
|
|
void SetCenterLatitudeLongitude(Vector2d centerLatitudeLongitude);
|
|
|
|
|
void SetZoom(float zoom);
|
|
|
|
|
void SetWorldRelativeScale(float scale);
|
|
|
|
|
}
|
|
|
|
|
}
|