我用下面的代码覆盖显示显示上点击叠加
p = new GeoPoint((int) (addresses.get(0).getLatitude() * 1E6),
(int) (addresses.get(0).getLongitude() * 1E6));
controller = mapview.getController();
controller.setZoom(12);
MapOverlay mapOverlay = new MapOverlay(map.this, p);
List<Overlay> listOfOverlays = mapview.getOverlays();
listOfOverlays.add(mapOverlay);
controller.animateTo(p, new Runnable() {
public void run() {
controller.setZoom(12);
}
});
mapview.invalidate();
,并在覆盖绘制文件举杯如下...
super.draw(canvas, mapView, shadow);
Point screenPts = new Point();
mapView.getProjection().toPixels(p, screenPts);
Bitmap bmp = BitmapFactory.decodeResource(context.getResources(), R.drawable.overlay);
canvas.drawBitmap(bmp, screenPts.x, screenPts.y - 32, null);
谁能请告诉我,当我点击叠加层时,需要做些什么才能显示敬酒?
onTap方法适用于整个mapview。我希望敬酒应该只显示在特定的叠加而不是整个地图上。 – Antrromet
活动顶部显示“Toast”:我不确定自己完全明白自己想要做什么,但如果覆盖Overlay的“onTap”方法,则任何点击叠加层都会显示Toast。这不是你想要的吗? – Femi
啊。您想要使用ItemizedOverlay(请参阅http://code.google.com/android/add-ons/google-apis/reference/com/google/android/maps/ItemizedOverlay.html),然后覆盖'onTap(int index )'方法(请参阅http://code.google.com/android/add-ons/google-apis/reference/com/google/android/maps/ItemizedOverlay.html#onTap(int))。 – Femi