我试图用 android 中的默认蓝点向用户显示当前位置。在我的地图页面中,我还有一个显示不同兴趣点的布局。我无法弄清楚要为某些变量添加什么,并且想知道是否有人可以帮助我。
这就是我到目前为止用来显示我的位置的方法。
Location location = locationManager
.getLastKnownLocation(bestProvider);
try {
GeoPoint myPoint2 = new GeoPoint(
(int) (location.getLatitude() * 1E6),
(int) (location.getLongitude() * 1E6));
newoverlay.drawMyLocation(null, mapView, location, myPoint2,
1000);
mapOverlays.add(newoverlay);
} catch (NullPointerException e) {
GeoPoint myPoint2 = new GeoPoint((int) (-1 * 1E6),
(int) (-1 * 1E6));
**newoverlay.drawMyLocation(null, mapView, location, myPoint2,
1000);**
mapOverlays.add(newoverlay);
}
我不确定要放置什么作为 Canvas,所以我将其设置为 null,以便它可以编译。我正在使用位置管理器中的位置,并且我从位置变量中获得了我的地理点。我也不确定“when”参数应该是什么。
我还想知道蓝色气泡如何知道与人一起移动,图片是否根据“何时”参数每 x 毫秒更新一次?
到目前为止,该应用程序没有崩溃,但也没有在任何位置显示蓝点。
我确信我只需要帮助找到画布参数应该是什么。
Thanks
在您的地图活动中尝试这种方式
class CurOverlay extends Overlay {
private GeoPoint pointToDraw;
public void setPointToDraw(GeoPoint point) {
pointToDraw = point;
}
public GeoPoint getPointToDraw() {
return pointToDraw;
}
@Override
public boolean draw(Canvas canvas, MapView curmapView, boolean shadow,
long when) {
super.draw(canvas, curmapView, shadow);
// convert point to pixels
Point screenPts = new Point();
curmapView.getProjection().toPixels(pointToDraw, screenPts);
// add marker
Bitmap bmp = BitmapFactory.decodeResource(getResources(),
R.drawable.pinsource);
canvas.drawBitmap(bmp, screenPts.x - 28, screenPts.y - 48, null);
return true;
}
}
我希望这对你有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)