Android Google Map: динамическое масштабирование уровня карты против статического масштабирования карты - PullRequest
0 голосов
/ 12 октября 2018

Мне нужно использовать динамическую карту Google для поиска местоположения, прокрутки, масштабирования и т. Д., А затем сделать снимок экрана карты.Из-за лицензионного ограничения я не могу сделать снимок экрана (GMap.Snapshot (this)).Поэтому было решено загрузить изображение из статической карты Google

Когда пользователь хочет переключиться с динамического режима карты на статическую карту, он нажимает кнопку, и я беру центральную широту и долготу, уровень масштабирования и размер карты (это xamarin android)

        {
            CenterLatLng = new double[] { GMap.CameraPosition.Target.Latitude, GMap.CameraPosition.Target.Longitude },
            ZoomLevel = (int)GMap.CameraPosition.Zoom,
            Type = GMap.MapType,
            MapSize = new int[] { MapFragment.View.MeasuredWidth, MapFragment.View.MeasuredHeight }
        };

с этими параметрами я попытаюсь загрузить статическую карту

        int scale = 2;
        var url = $"https://maps.googleapis.com/maps/api/staticmap?center={myobject.CenterLatLng[0]},{myobject.CenterLatLng[1]}&zoom={myobject.ZoomLevel}&size={myobject.MapSize[0] / scale}x{myobject.MapSize[1] / scale}&scale={scale}&maptype=satellite&format=png&key=xxxxxxxx";

, но загруженная статическая карта, похоже, отличается от масштаба динамической карты

Здесь снимок экрана с динамической картой, отображаемой перед переключением на статическую карту

Вот снимок экрана со статической картой, отображаемой после

какможно исправить разницу между динамическим и статическим масштабированием карты?

1 Ответ

0 голосов
/ 17 октября 2018

как я могу исправить эту разницу между динамическим масштабированием карты и статическим масштабированием карты?

Я думаю, что проблема вызвана размером, установленным в URL size={myobject.MapSize[0] / scale}x{myobject.MapSize[1] / scale}.Вы можете создать новую переменную для деления MapSize вместо использования scale для изменения размера.

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