私はタップするとpopuoにテキストが表示されるマップビューとオーバーレイアイテムがあります。私が望むのは、ユーザーがこれらのオーバーレイアイテムの外の地図をタップするか、現在表示されている場合にポップアップを非表示にすることです。android mapview overlay popup hide
答えて
私が知っているように唯一の方法は、マップに新しいオーバーレイを追加することです。魔女はポップアップとして機能します。オーバーレイの外側をタップすると、それをオーバーレイリストから削除するだけです。
これは、ポップアップのイベントを自分で描画して処理する必要があることを意味します。
アイブ氏は、これは私が欲しいものを正確に、同じことをacheiveしようとして: - 私はオーバーレイでgoogleMapViewを実装しているhttp://proxy.latest.xuemath.appspot.com/img?s=aR.1f.1be6ifej.2ec/_Fbk8IlxNQXM/S-ruq97dRWI/AAAAAAAAELY/s-o3onSReiU/s400/kml_google_maps_v3.bmp
、私は1つの問題を持っている各オーバーレイをクリックしたときに私は、ポップアップを表示したい、と別のオーバーレイをクリックすると、以前のポップスが消え、クリックした場所(つまり投影ポイント)に新しいポップスが表示されます。そして、画面上の他の場所をクリックするとポップアップが表示されません。onTickイベントを使用してonclickを記録します。 (map_overlay)は、誰かが地図上の投影点をクリックしたときに表示したいレイアウトです。コードは以下の通りで、map_overlay.xmlは任意のファイルである可能性があります。
クラス:ItemizedOverlay: - 以下
public boolean onTap(GeoPoint p, MapView mapView) {
LayoutInflater inflater = (LayoutInflater)cContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LayoutParams lp = new MapView.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT, p, LayoutParams.WRAP_CONTENT);
LinearLayout view = (LinearLayout)inflater.inflate(R.layout.map_overlay, null);
mapView.removeView(view);
mapView.invalidate();
mapView.addView(view,lp);
mapView.invalidate();
return true;
}
は、上記のように、私は別のクラスでONTAPイベントを実装している発呼投影正常に動作している点やIMを表示イムするメインクラスです。
公開クラスMapView extends MapActivity { private ArrayList overlayItem;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.large_mapview);
mapView = (MapView) findViewById(R.id.mapview);
// mapView.setBuiltInZoomControls(true);
List<Overlay> mapOverlays = mapView.getOverlays();
Drawable drawable = this.getResources().getDrawable(R.drawable.mappointer2);
ItemizedOverlay itemizedoverlay = new ItemizedOverlay(drawable,this);
OverlayItem overlayitem;
GeoPoint point;
double lat;
double lng;
for (int i = 0; i < overlayItem.size(); i++) {
lat = Double.parseDouble(overlayItem.get(i).getLatitude());
lng = Double.parseDouble(overlayItem.get(i).getLongitude());
point = new GeoPoint((int) (lat * 1E6),(int) (lng * 1E6));
overlayitem = new OverlayItem(point, i+"".toString(), overlayItem.get(i).getDetails().toString());
itemizedoverlay.addOverlay(overlayitem);
mapOverlays.add(itemizedoverlay);
}
mapView.invalidate();
}
}
- 1. openstreetmap to overlay android mapview
- 2. jquery hide/overlayビデオプレーヤー
- 3. Auth0 login popup hideパスワードのリセットセクション
- 4. Android Motionevent overlay
- 5. Android MapView
- 6. Android PreferenceScreen overlayツールバー
- 7. Android JavaFX Blendmode/Overlay effect
- 8. Android appwide view overlay(HUD)
- 9. Android API 7(2.1)、MapView、MultiThreading、ConcurrentModificationException
- 10. Android MapViewオーバーレイを切り替える
- 11. Android - カスタムMapView
- 12. Android hide keyboard
- 13. Android MapViewのTabBarアプリケーション - > NullPointerException
- 14. AlertDialog内のAndroid MapView
- 15. AndroidカスタムMapView質問
- 16. androidのMapViewのタッチイベント
- 17. Android Itemized Overlay Alertダイアログ変数Conundrum
- 18. Youtube Video Overlay?
- 19. Android MapViewのビットマップの問題
- 20. mapview Androidでエラーを表示
- 21. android mapview with custom wms tile provider
- 22. POIのAndroid MapView描画ボタン
- 23. AndroidでMapviewが空白
- 24. AndroidマップV2 MapViewのカスタムフラグメント(NPE)
- 25. Android - タブ、MapView、タブ内のアクティビティ
- 26. 地図は、AndroidのMapView
- 27. Android MapView初期位置
- 28. オーバーフローメニューPopUp
- 29. JQuery PopUp Postion Not Working
- 30. Androidのmapviewがクラッシュすることがある(幻影のnullpointerexception)
我々は、ポップアップウィンドウの外側をクリックするかどうかを決定する方法について説明します。 – mkso
@mksoはMapViewのクリック/タッチを待ち受け、ポップアップのオーバーレイ位置に合っています。 – sidon