我创建了一个Android应用程序,您可以在地图上添加点,然后它会从这些点创建多边形。效果如下图所示:
然后我将折线的图像保存如下:
这段代码生成了一个如下图所示的图片: 我需要将这个折线图像相对于Google地图按照1:10000或1:5000进行缩放,并且我需要这个图像大约为400x400,因为我需要在PDF文档中使用它,而比例尺非常重要。
如何将Google地图设置为这些比例尺?
如何将折线图像转换为这些比例尺? 编辑: 我认为我做错了的是使用来自视图的坐标,就像Javier Delgado所说的那样。现在我正在尝试使用来自地图的坐标,但如何将它们转换为屏幕坐标? 编辑: 这些是创建上述多边形的真实地图坐标。
如何从这些坐标创建折线位图?
![enter image description here](https://istack.dev59.com/EVQB6.webp)
private Bitmap createPolylineBitmap() {
Bitmap bitmap = Bitmap.createBitmap(((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getView().getWidth(), ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getView().getHeight(), Bitmap.Config.ARGB_8888);
//Bitmap bitmap = Bitmap.createBitmap(((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getView().getWidth(), ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getView().getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
paint.setColor(ContextCompat.getColor(this, R.color.purple));
paint.setStrokeWidth(10);
paint.setDither(true);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeJoin(Paint.Join.ROUND);
paint.setStrokeCap(Paint.Cap.ROUND);
paint.setAntiAlias(true);
ArrayList<LatLng> coordinates = Mainigie.PievienotasKoordinates;
for (int i = 0; i < coordinates.size(); i++) {
try {
LatLng latLng1 = new LatLng(coordinates.get(i).latitude, coordinates.get(i).longitude);
LatLng latLng2 = new LatLng(coordinates.get(i + 1).latitude, coordinates.get(i + 1).longitude);
canvas.drawLine((LatLngToPoint(latLng1).x), ((LatLngToPoint(latLng1).y)), (LatLngToPoint(latLng2).x), (LatLngToPoint(latLng2).y), paint);
canvas.drawCircle((LatLngToPoint(latLng1).x),(LatLngToPoint(latLng1).y),5, paint);
}
catch(Exception ex){
}
}
return bitmap;
}
这段代码生成了一个如下图所示的图片: 我需要将这个折线图像相对于Google地图按照1:10000或1:5000进行缩放,并且我需要这个图像大约为400x400,因为我需要在PDF文档中使用它,而比例尺非常重要。
如何将Google地图设置为这些比例尺?
如何将折线图像转换为这些比例尺? 编辑: 我认为我做错了的是使用来自视图的坐标,就像Javier Delgado所说的那样。现在我正在尝试使用来自地图的坐标,但如何将它们转换为屏幕坐标? 编辑: 这些是创建上述多边形的真实地图坐标。
X: Y:
57.567177, 25.383375
57.567391, 25.384218
57.568717, 25.382321
57.568159, 25.382033
如何从这些坐标创建折线位图?