我想创建一个带有静态图片地图(自定义地图)的Android应用程序。
1)当前位置谷歌地图图像(屏幕快照)。如下所示。[它可能是我们自己的绘图...]
9.94015,76.273953是该图像的位置。
在这个图像中,蓝色的标记表示当前位置。
如何实现?
Mercator可以很容易地完成此操作,但我对编程非常陌生...
我做不到。
如果有人能够提供一个示例项目来帮助我,我将不胜感激。
我想创建一个带有静态图片地图(自定义地图)的Android应用程序。
1)当前位置谷歌地图图像(屏幕快照)。如下所示。[它可能是我们自己的绘图...]
9.94015,76.273953是该图像的位置。
在这个图像中,蓝色的标记表示当前位置。
如何实现?
Mercator可以很容易地完成此操作,但我对编程非常陌生...
我做不到。
如果有人能够提供一个示例项目来帮助我,我将不胜感激。
Map left = 10
Map Right = 15
Image Width = 1000 pixels
each pixel = (15-10)/ 1000
= 0.005
您所在的GPS X坐标为11.5,因此:
11.5 - 10 = 1.5
1.5 / 0.005 = 300
所以您需要在图像上的X轴像素300处绘制您的圆圈。
对于Y坐标,请重复相同步骤。(使用高度、顶部和底部)
你是想做类似谷歌地图标记的功能吗?如果是,那么你需要使用ItemizedOverlay。你可以在网上找到ItemizedOverlay的例子。只需在Google上搜索“ItemizedOverlay示例”即可。
你只是想在地图视图上绘制一个圆形吗?如果是这样,你需要编写一个扩展ItemizedOverlay的类......在onDraw方法中使用以下代码:
@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow/*, long when*/) {
super.draw(canvas, mapView, shadow);
Paint paint = new Paint();
// Converts lat/lng-Point to OUR coordinates on the screen.
android.graphics.Point myScreenCoords = new android.graphics.Point();
GeoPoint point = new GeoPoint(15340000,75120000);
mapView.getProjection().toPixels(point, myScreenCoords);
paint.setStrokeWidth(1);
paint.setARGB(255, 255, 255, 255);
paint.setStyle(Paint.Style.STROKE);
paint.setTextSize(20);
paint.setColor(Color.RED);
paint.setStrokeWidth(2);
canvas.drawText("Here I am...", myScreenCoords.x-10,myScreenCoords.y-48, paint);
return true; }