标记在谷歌地图上的Android未对齐

问题描述:

我放置在我的Android应用程序中的我的地图活动成功地许多标记。标记在谷歌地图上的Android未对齐

的问题是,当变焦低(ⅰ在屏幕上看到的整个国家)我看到,标记根本没有被对准到设定位置。我的意思是,在低放大倍数下,标记似乎被放置在距离该点50-100公里处。

我的标记是一个简单的可绘制图标,中间有一个向上的三角形,所以图标的下角(放置在图标的实际底部中心)应该完全放置在GPS坐标上为标记设置。相反,似乎对齐的点是图标的左下角...

如何设置标记图标对齐?

+0

添加答案作为一个答案;回答你自己的问题是可以的(也是合适的)。 – 2012-02-01 12:26:07

+0

我有不到100个声望......所以我不能在8小时前给我的问题添加答案......我添加了答案作为更新,以提醒我有关要写入的文本。 – Alex 2012-02-01 16:39:07

我自己找到了解决方案。 我使用标准的Overlay继承类。

我修改的指令在overrided绘制函数:

public boolean draw(Canvas canvas, MapView mapView, boolean shadow, 
     long when) { 
    Point screenPts = new Point(); 
    mapView.getProjection().toPixels(p, screenPts); 
    Point finalDrawPosition= new Point(); 
    finalDrawPosition.set(screenPts.x - (bmp.getWidth()/2), screenPts.y- bmp.getHeight()); 

    canvas.drawBitmap(bmp, finalDrawPosition.x, finalDrawPosition.y, null); 
    [...] 
    }