Unity mapbox - координаты в центре масштабируемой карты? - PullRequest
0 голосов
/ 17 апреля 2020

Я знаю, как переместить масштабируемую карту на указанную c широта / долгота, и эта точка будет центрирована на экране. Если пользователь перемещает карту (перетаскивает ее в сторону), как я могу получить координаты в точке карты, которая теперь центрирована?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 18 апреля 2020

Спасибо! Основываясь на той же теме, на которую вы указали, я добавил функцию в свой QuadTreeCameraMovement ...

public Vector2d GeoCoordsAtCenter() {
        var centerScreen = _referenceCamera.ViewportToScreenPoint(new Vector3(.5f, .5f, _referenceCamera.transform.localPosition.y));

        var pos = _referenceCamera.ScreenToWorldPoint(centerScreen);

        var latlongDelta = _mapManager.WorldToGeoPosition(pos);
        Debug.Log("CENTER: Latitude: " + latlongDelta.x + " Longitude: " + latlongDelta.y);
        return latlongDelta;
    }
0 голосов
/ 17 апреля 2020

Я бы порекомендовал использовать метод Camera.ScreenToWorldPoint из Unity:

https://docs.unity3d.com/ScriptReference/Camera.ScreenToWorldPoint.html?_ga=2.95757022.39200391.1587116665-1246420375.1587116665

Пожалуйста, взгляните также на эту похожую тему: https://forum.unity.com/threads/how-to-get-a-world-position-from-the-center-of-the-screen.524573/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...