标记在谷歌地图上的Android未对齐
问题描述:
我放置在我的Android应用程序中的我的地图活动成功地许多标记。标记在谷歌地图上的Android未对齐
的问题是,当变焦低(ⅰ在屏幕上看到的整个国家)我看到,标记根本没有被对准到设定位置。我的意思是,在低放大倍数下,标记似乎被放置在距离该点50-100公里处。
我的标记是一个简单的可绘制图标,中间有一个向上的三角形,所以图标的下角(放置在图标的实际底部中心)应该完全放置在GPS坐标上为标记设置。相反,似乎对齐的点是图标的左下角...
如何设置标记图标对齐?
答
我自己找到了解决方案。 我使用标准的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);
[...]
}
添加答案作为一个答案;回答你自己的问题是可以的(也是合适的)。 – 2012-02-01 12:26:07
我有不到100个声望......所以我不能在8小时前给我的问题添加答案......我添加了答案作为更新,以提醒我有关要写入的文本。 – Alex 2012-02-01 16:39:07