【发布时间】:2018-10-12 16:30:49
【问题描述】:
我必须使用谷歌动态地图来搜索位置、滚动、缩放等,然后对地图进行截图。由于许可限制,我无法截取屏幕截图(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";
但下载的静态地图似乎与动态地图具有不同的缩放比例
Here a screenshot of the Dynamic Map displayed before than switching to Static map
Here a screenshot of the Static Map displayed after
如何解决动态地图缩放和静态地图缩放之间的差异?
【问题讨论】:
标签: android google-maps xamarin.android maps