我用下面的代碼覆蓋顯示顯示上點擊疊加
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