簡體   English   中英

自定義氣球-切換按鈕

[英]Custom Balloons - Toggle Button

我使用這個不錯的庫來顯示氣球:MapViewBalloons

我想在氣球中添加一個切換按鈕,以便可以將一個點標記為收藏夾。 問題在於它會切換整個疊加層的狀態,而不僅是當前氣球的狀態。

我該如何解決? 這是我的代碼,謝謝!

@Override
protected void setupView(Context context, final ViewGroup parent) {

    // inflate our custom layout into parent
    LayoutInflater inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View v = inflater.inflate(R.layout.baloon_overlay, parent);

    ToggleButton favorite = (ToggleButton) v
            .findViewById(R.id.toggleButton1);

    favorite.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            if (isFav==false) {
                isFav=true;
                System.out.println("true");}
            else {
                isFav=false;
                System.out.println("false");
            }
        }
    });
}

首先,“它會切換整個疊加層的狀態,而不僅僅是當前氣球的狀態”是什么意思? 您指的是什么狀態。

無論您如何定義狀態切換,我都建議這樣做:嘗試為每個疊加使用單獨的ItemizedOverlay,而不是將多個疊加添加到同一氣球中。 我遇到了一個類似的問題,即我的整個疊加層(而不是當前的氣球)都受到了影響,從而解決了該問題。

讓我展示一下我想使用mapviewballoons(custommap活動)中的代碼建議的內容:

    itemizedOverlay = new CustomItemizedOverlay<CustomOverlayItem>(drawable, mapView);

    GeoPoint point = new GeoPoint((int)(51.5174723*1E6),(int)(-0.0899537*1E6));
    CustomOverlayItem overlayItem = new CustomOverlayItem(point, "Tomorrow Never Dies (1997)", 
            "(M gives Bond his mission in Daimler car)", 
            "http://ia.media-imdb.com/images/M/MV5BMTM1MTk2ODQxNV5BMl5BanBnXkFtZTcwOTY5MDg0NA@@._V1._SX40_CR0,0,40,54_.jpg");
    itemizedOverlay.addOverlay(overlayItem);

    //This bottom line is what I'm trying to suggest
    itemizedOverlay2 = new CustomItemizedOverlay<CustomOverlayItem>(drawable, mapView);
    GeoPoint point2 = new GeoPoint((int)(51.515259*1E6),(int)(-0.086623*1E6));
    CustomOverlayItem overlayItem2 = new CustomOverlayItem(point2, "GoldenEye (1995)", 
            "(Interiors Russian defence ministry council chambers in St Petersburg)", 
            "http://ia.media-imdb.com/images/M/MV5BMzk2OTg4MTk1NF5BMl5BanBnXkFtZTcwNjExNTgzNA@@._V1._SX40_CR0,0,40,54_.jpg");       
    itemizedOverlay2.addOverlay(overlayItem2);

    mapOverlays.add(itemizedOverlay);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM