如何在android中点击覆盖时显示弹出窗口?

发布于 2024-10-08 13:38:51 字数 163 浏览 0 评论 0原文

在我的地图应用程序中,我在地图上显示一组叠加层。每当我点击叠加层时,我需要显示一个弹出窗口,如下所示

带有叠加层弹出窗口的 MapView 的图像

任何人都可以帮助我解决这个问题?

In my map application, I am displaying a set of overlays on a map. Whenever I tap on an overlay I need to display a popup, like this

Image of MapView with overlay popup

Can any one help me to sort out this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

拥抱影子 2024-10-15 13:38:51

是的,您可能应该设计我们的自我信息窗口,以便通过地图中的点击来显示信息,如果您明白,请重播我,我向您提供代码。

public class MapLocationOverlay  extends Overlay  {

    private boolean isNameAddHold=true;

     private Bitmap bitmap,bitCross,bitMoreInformation;
    int testX,testY,count=0;
    int infoWindowOffsetX,infoWindowOffsetY;
    public String name,address,argName,argAddress,argid;
    //  Store these as global instances so we don't keep reloading every time
    private Bitmap bubbleIcon, shadowIcon;

    private MapLocationViewer mapLocationViewer;
    double toLat, toLng;

    private Paint   innerPaint, borderPaint, textPaint;
    private boolean isRemovePriorPopup=false;
    private boolean temp=true,first=true, firstDraw = true;
    public boolean tempDefaule=true;
    public MoreInformation myMoreInformation;
    public PantryLocation location;

    //  The currently selected Map Location...if any is selected.  This tracks whether an information  
    //  window should be displayed & where...i.e. whether a user 'clicked' on a known map location
    private PantryLocation selectedMapLocation;  

    public MapLocationOverlay(MapLocationViewer mapLocationViewer,PantryLocation arglocation) {

        this.mapLocationViewer = mapLocationViewer;
        location=arglocation;
        bubbleIcon = BitmapFactory.decodeResource(mapLocationViewer.getResources(),R.drawable.bubble);
        shadowIcon = BitmapFactory.decodeResource(mapLocationViewer.getResources(),R.drawable.shadow);
        bitmap = BitmapFactory.decodeResource(mapLocationViewer.getResources(),R.drawable.infowindow);
        bitCross = BitmapFactory.decodeResource(mapLocationViewer.getResources(),R.drawable.crass);
        bitMoreInformation = BitmapFactory.decodeResource(mapLocationViewer.getResources(),R.drawable.more_informations_new);
    }

    @Override
    public boolean onTouchEvent(MotionEvent e, MapView mapView) {
        // TODO Auto-generated method stub
         if (e.getAction() == 0)
         {
             this.tempDefaule=false;
         }
         if (e.getAction() == 1)
         {
             this.tempDefaule=false;
         }
         if (e.getAction() == 2)
         {
             this.tempDefaule=false;
         }
        return super.onTouchEvent(e, mapView);
    }       

    @Override
    public boolean onTap(GeoPoint p, MapView    mapView)  {
        //this.tempDefaule=false;
        //  Store whether prior popup was displayed so we can call invalidate() & remove it if necessary.

        //  Next test whether a new popup should be displayed

            selectedMapLocation = getHitMapLocation(mapView,p);

            mapView.invalidate();       

        //  Lastly return true if we handled this onTap()
        return selectedMapLocation != null;
    }

    @Override
    public void draw(Canvas canvas, MapView mapView, boolean shadow) {

        drawMapLocations(canvas, mapView, shadow);
        //this.tempDefaule=false;
        drawInfoWindow(canvas, mapView, shadow);
        //this.tempDefaule=false;
        }

    /**
     * Test whether an information balloon should be displayed or a prior balloon hidden.
     */
    private PantryLocation getHitMapLocation(MapView    mapView, GeoPoint   tapPoint) {

        //  Track which MapLocation was hit...if any
        PantryLocation hitMapLocation = null;

        RectF hitTestRecr = new RectF();
        Point screenCoords = new Point();
        ArrayList<PantryLocation> iterator =mapLocationViewer.getMapLocations();
        for(int i=0;i<iterator.size();i++) {       
            PantryLocation testLocation = iterator.get(i);

            //  Translate the MapLocation's lat/long coordinates to screen coordinates
            mapView.getProjection().toPixels(testLocation.getPoint(), screenCoords);

            // Create a 'hit' testing Rectangle w/size and coordinates of our icon
            // Set the 'hit' testing Rectangle with the size and coordinates of our on screen icon
            hitTestRecr.set(-bubbleIcon.getWidth()/2,-bubbleIcon.getHeight(),bubbleIcon.getWidth()/2,0);
            hitTestRecr.offset(screenCoords.x,screenCoords.y);

            //  Finally test for a match between our 'hit' Rectangle and the location clicked by the user
            mapView.getProjection().toPixels(tapPoint, screenCoords);
            //hitMapLocation = testLocation;
            if (hitTestRecr.contains(screenCoords.x,screenCoords.y)) {
                hitMapLocation = testLocation;
                first = true;
                isNameAddHold = true;
                break;
            }
        }
        testX=(int)screenCoords.x;
        testY=(int)screenCoords.y;
        //  Lastly clear the newMouseSelection as it has now been processed
        tapPoint = null;
        if(hitMapLocation==null && selectedMapLocation!=null)
        return selectedMapLocation; 

        return hitMapLocation;

    }

    private void drawMapLocations(Canvas canvas, MapView    mapView, boolean shadow) {
        int i=0;count++;
        ArrayList<PantryLocation> iterator =mapLocationViewer.getMapLocations();
        Point screenCoords = new Point();
        for(i=0;i<iterator.size();i++) {       
            PantryLocation location = iterator.get(i);
            mapView.getProjection().toPixels(location.getPoint(), screenCoords);
            //mapView.getController().setCenter(location.getPoint());
            if (shadow) {
                //  Only offset the shadow in the y-axis as the shadow is angled so the base is at x=0; 
                canvas.drawBitmap(shadowIcon, screenCoords.x, screenCoords.y - shadowIcon.getHeight(),null);
            } else {
                canvas.drawBitmap(bubbleIcon, screenCoords.x - bubbleIcon.getWidth()/2, screenCoords.y - bubbleIcon.getHeight(),null);
            }

        }
//      if(i==iterator.size()){
//          this.tempDefaule=false;}
if(tempDefaule==true)
{

            PantryLocation location1 = this.location;
            //mapView.getProjection().toPixels(location.getPoint(), screenCoords);
            Point screenCoord = new Point();
            mapView.getController().setCenter(location1.getPoint());
            mapView.getController().setZoom(15);
        //  tempDefaule=false;
                //mapView.getController().setCenter(location.getPoint());   

        }

            //tempDefaule=false;    
}           //mapView.getProjection().toPixels(location.getPoint(), screenCoord);
            //canvas.drawBitmap(bubbleIcon, screenCoord.x - bubbleIcon.getWidth()/2, screenCoord.y - bubbleIcon.getHeight(),null);
            //mapView.invalidate();


    private void drawInfoWindow(Canvas canvas, MapView  mapView, boolean shadow) {
        //this.tempDefaule=false;
        if ( selectedMapLocation != null) {
            if ( shadow) {
                //  Skip painting a shadow in this tutorial
            } else {
                //  First determine the screen coordinates of the selected MapLocation
                isRemovePriorPopup=true;
                Point selDestinationOffset = new Point();
                mapView.getProjection().toPixels(selectedMapLocation.getPoint(), selDestinationOffset);

                //  Setup the info window with the right size & location
                int INFO_WINDOW_WIDTH = 125;
                int INFO_WINDOW_HEIGHT = 25;
                RectF infoWindowRect = new RectF(0,0,100,20);   
                RectF closeRect = new RectF(0,0,20,20); 
                 infoWindowOffsetX = selDestinationOffset.x-INFO_WINDOW_WIDTH/2;
                 infoWindowOffsetY = selDestinationOffset.y-INFO_WINDOW_HEIGHT-bubbleIcon.getHeight();
                 infoWindowRect.offset(infoWindowOffsetX+95,infoWindowOffsetY-45);
                 closeRect.offset(infoWindowOffsetX+160,infoWindowOffsetY-90);
                 Paint myPaintBlack=new Paint();
                    Paint myPaintWhite=new Paint();

                    myPaintWhite.setARGB(255, 255, 255, 255);


                //  Draw inner info window
                canvas.drawRoundRect(infoWindowRect, 5, 5, getInnerPaint());

                //  Draw border for info window
                canvas.drawRoundRect(infoWindowRect, 5, 5, getBorderPaint());

                //  Draw the MapLocation's name


                myPaintBlack.setColor(Color.BLACK);
                myPaintBlack.setTextSize(20);

                canvas.drawBitmap(bitmap, infoWindowOffsetX-50, infoWindowOffsetY-100,getInnerPaint());
                if(isNameAddHold)
                {
                argid=selectedMapLocation.getID();
                argName=selectedMapLocation.getName();
                name=selectedMapLocation.getName();
                toLat = selectedMapLocation.getLatitude();
                toLng = selectedMapLocation.getLongitude();
                if(name.length()>18)
                name=selectedMapLocation.getName().substring(0,18)+"..";
                argAddress=selectedMapLocation.getAddress();
                address=selectedMapLocation.getAddress();
                if(address.length()>30)
                address=selectedMapLocation.getAddress().substring(0,30)+"..";
                }
                canvas.drawText(name,infoWindowOffsetX-45,infoWindowOffsetY-70,myPaintBlack);
                myPaintBlack.setTextSize(13);
                canvas.drawText(address,infoWindowOffsetX-45,infoWindowOffsetY-55,myPaintBlack);

            //  Draw inner info window
                canvas.drawRoundRect(infoWindowRect, 5, 5, getInnerPaint());

                //  Draw border for info window
                canvas.drawRoundRect(infoWindowRect, 5, 5, getBorderPaint());
                //  Draw the MapLocation's name
                myPaintBlack.setColor(Color.CYAN);
                myPaintBlack.setTextSize(11);
                //canvas.drawText("Click for more info..",infoWindowOffsetX+105,infoWindowOffsetY-33,myPaintBlack);
                canvas.drawBitmap(bitMoreInformation, infoWindowOffsetX+95, infoWindowOffsetY-45,getInnerPaint());
                //canvas.drawBitmap(bitCross, infoWindowOffsetX+160, infoWindowOffsetY-90,getInnerPaint());

            }
        }
        if(isRemovePriorPopup)
        {
        if(((testX>(infoWindowOffsetX+95)&&testX<(infoWindowOffsetX+195)))&&(testY>(infoWindowOffsetY-45)&&testY<(infoWindowOffsetY-25)))
            {
            if(temp){
                try
                {
                    temp=false;
                    isNameAddHold=false;
                isRemovePriorPopup=false;
                Context context=mapLocationViewer.cn;
                Toast.makeText(context, "Loading...", Toast.LENGTH_SHORT).show();
                Intent intent=new Intent(context, MoreInformation.class);
                intent.putExtra("Id",argid);
                intent.putExtra("Name",argName);
                intent.putExtra("Address",argAddress);
                intent.putExtra("Latitude",toLat);
                intent.putExtra("Longitude",toLng);

                context.startActivity(intent);

                }
                catch (Exception ex)
                {
                    Log.d("Redirected Error :", ex.getMessage());
                }
        //canvas.drawText("This is for Testing",testX,testY,myPaintBlack);
            }}
            else if(((testX>(infoWindowOffsetX+160)&&testX<(infoWindowOffsetX+180)))&&(testY>(infoWindowOffsetY-90)&&testY<(infoWindowOffsetY-70)))
            {

                if(isRemovePriorPopup)
                {
                 isRemovePriorPopup=false;                  
                 selectedMapLocation=null;
                 draw(canvas, mapView, shadow);
                // mapLocationViewer.setDZoom();
                }

            }
        }
    }

    public Paint getInnerPaint() {
        if ( innerPaint == null) {
            innerPaint = new Paint();
            innerPaint.setARGB(225, 75, 75, 75); //gray
            innerPaint.setAntiAlias(true);
        }
        return innerPaint;
    }

    public Paint getBorderPaint() {
        if ( borderPaint == null) {
            borderPaint = new Paint();
            borderPaint.setARGB(255, 255, 255, 255);
            borderPaint.setAntiAlias(true);
            borderPaint.setStyle(Style.STROKE);
            borderPaint.setStrokeWidth(2);
        }
        return borderPaint;
    }

    public Paint getTextPaint() {
        if ( textPaint == null) {
            textPaint = new Paint();
            textPaint.setARGB(255, 255, 255, 255);
            textPaint.setAntiAlias(true);
        }
        return textPaint;
    }


}

在这段代码中我设计了一个函数绘制信息窗口

Yes it is possible you should design our self info window for display information over tap in map i am supply code to you if you are understand that please replay me.

public class MapLocationOverlay  extends Overlay  {

    private boolean isNameAddHold=true;

     private Bitmap bitmap,bitCross,bitMoreInformation;
    int testX,testY,count=0;
    int infoWindowOffsetX,infoWindowOffsetY;
    public String name,address,argName,argAddress,argid;
    //  Store these as global instances so we don't keep reloading every time
    private Bitmap bubbleIcon, shadowIcon;

    private MapLocationViewer mapLocationViewer;
    double toLat, toLng;

    private Paint   innerPaint, borderPaint, textPaint;
    private boolean isRemovePriorPopup=false;
    private boolean temp=true,first=true, firstDraw = true;
    public boolean tempDefaule=true;
    public MoreInformation myMoreInformation;
    public PantryLocation location;

    //  The currently selected Map Location...if any is selected.  This tracks whether an information  
    //  window should be displayed & where...i.e. whether a user 'clicked' on a known map location
    private PantryLocation selectedMapLocation;  

    public MapLocationOverlay(MapLocationViewer mapLocationViewer,PantryLocation arglocation) {

        this.mapLocationViewer = mapLocationViewer;
        location=arglocation;
        bubbleIcon = BitmapFactory.decodeResource(mapLocationViewer.getResources(),R.drawable.bubble);
        shadowIcon = BitmapFactory.decodeResource(mapLocationViewer.getResources(),R.drawable.shadow);
        bitmap = BitmapFactory.decodeResource(mapLocationViewer.getResources(),R.drawable.infowindow);
        bitCross = BitmapFactory.decodeResource(mapLocationViewer.getResources(),R.drawable.crass);
        bitMoreInformation = BitmapFactory.decodeResource(mapLocationViewer.getResources(),R.drawable.more_informations_new);
    }

    @Override
    public boolean onTouchEvent(MotionEvent e, MapView mapView) {
        // TODO Auto-generated method stub
         if (e.getAction() == 0)
         {
             this.tempDefaule=false;
         }
         if (e.getAction() == 1)
         {
             this.tempDefaule=false;
         }
         if (e.getAction() == 2)
         {
             this.tempDefaule=false;
         }
        return super.onTouchEvent(e, mapView);
    }       

    @Override
    public boolean onTap(GeoPoint p, MapView    mapView)  {
        //this.tempDefaule=false;
        //  Store whether prior popup was displayed so we can call invalidate() & remove it if necessary.

        //  Next test whether a new popup should be displayed

            selectedMapLocation = getHitMapLocation(mapView,p);

            mapView.invalidate();       

        //  Lastly return true if we handled this onTap()
        return selectedMapLocation != null;
    }

    @Override
    public void draw(Canvas canvas, MapView mapView, boolean shadow) {

        drawMapLocations(canvas, mapView, shadow);
        //this.tempDefaule=false;
        drawInfoWindow(canvas, mapView, shadow);
        //this.tempDefaule=false;
        }

    /**
     * Test whether an information balloon should be displayed or a prior balloon hidden.
     */
    private PantryLocation getHitMapLocation(MapView    mapView, GeoPoint   tapPoint) {

        //  Track which MapLocation was hit...if any
        PantryLocation hitMapLocation = null;

        RectF hitTestRecr = new RectF();
        Point screenCoords = new Point();
        ArrayList<PantryLocation> iterator =mapLocationViewer.getMapLocations();
        for(int i=0;i<iterator.size();i++) {       
            PantryLocation testLocation = iterator.get(i);

            //  Translate the MapLocation's lat/long coordinates to screen coordinates
            mapView.getProjection().toPixels(testLocation.getPoint(), screenCoords);

            // Create a 'hit' testing Rectangle w/size and coordinates of our icon
            // Set the 'hit' testing Rectangle with the size and coordinates of our on screen icon
            hitTestRecr.set(-bubbleIcon.getWidth()/2,-bubbleIcon.getHeight(),bubbleIcon.getWidth()/2,0);
            hitTestRecr.offset(screenCoords.x,screenCoords.y);

            //  Finally test for a match between our 'hit' Rectangle and the location clicked by the user
            mapView.getProjection().toPixels(tapPoint, screenCoords);
            //hitMapLocation = testLocation;
            if (hitTestRecr.contains(screenCoords.x,screenCoords.y)) {
                hitMapLocation = testLocation;
                first = true;
                isNameAddHold = true;
                break;
            }
        }
        testX=(int)screenCoords.x;
        testY=(int)screenCoords.y;
        //  Lastly clear the newMouseSelection as it has now been processed
        tapPoint = null;
        if(hitMapLocation==null && selectedMapLocation!=null)
        return selectedMapLocation; 

        return hitMapLocation;

    }

    private void drawMapLocations(Canvas canvas, MapView    mapView, boolean shadow) {
        int i=0;count++;
        ArrayList<PantryLocation> iterator =mapLocationViewer.getMapLocations();
        Point screenCoords = new Point();
        for(i=0;i<iterator.size();i++) {       
            PantryLocation location = iterator.get(i);
            mapView.getProjection().toPixels(location.getPoint(), screenCoords);
            //mapView.getController().setCenter(location.getPoint());
            if (shadow) {
                //  Only offset the shadow in the y-axis as the shadow is angled so the base is at x=0; 
                canvas.drawBitmap(shadowIcon, screenCoords.x, screenCoords.y - shadowIcon.getHeight(),null);
            } else {
                canvas.drawBitmap(bubbleIcon, screenCoords.x - bubbleIcon.getWidth()/2, screenCoords.y - bubbleIcon.getHeight(),null);
            }

        }
//      if(i==iterator.size()){
//          this.tempDefaule=false;}
if(tempDefaule==true)
{

            PantryLocation location1 = this.location;
            //mapView.getProjection().toPixels(location.getPoint(), screenCoords);
            Point screenCoord = new Point();
            mapView.getController().setCenter(location1.getPoint());
            mapView.getController().setZoom(15);
        //  tempDefaule=false;
                //mapView.getController().setCenter(location.getPoint());   

        }

            //tempDefaule=false;    
}           //mapView.getProjection().toPixels(location.getPoint(), screenCoord);
            //canvas.drawBitmap(bubbleIcon, screenCoord.x - bubbleIcon.getWidth()/2, screenCoord.y - bubbleIcon.getHeight(),null);
            //mapView.invalidate();


    private void drawInfoWindow(Canvas canvas, MapView  mapView, boolean shadow) {
        //this.tempDefaule=false;
        if ( selectedMapLocation != null) {
            if ( shadow) {
                //  Skip painting a shadow in this tutorial
            } else {
                //  First determine the screen coordinates of the selected MapLocation
                isRemovePriorPopup=true;
                Point selDestinationOffset = new Point();
                mapView.getProjection().toPixels(selectedMapLocation.getPoint(), selDestinationOffset);

                //  Setup the info window with the right size & location
                int INFO_WINDOW_WIDTH = 125;
                int INFO_WINDOW_HEIGHT = 25;
                RectF infoWindowRect = new RectF(0,0,100,20);   
                RectF closeRect = new RectF(0,0,20,20); 
                 infoWindowOffsetX = selDestinationOffset.x-INFO_WINDOW_WIDTH/2;
                 infoWindowOffsetY = selDestinationOffset.y-INFO_WINDOW_HEIGHT-bubbleIcon.getHeight();
                 infoWindowRect.offset(infoWindowOffsetX+95,infoWindowOffsetY-45);
                 closeRect.offset(infoWindowOffsetX+160,infoWindowOffsetY-90);
                 Paint myPaintBlack=new Paint();
                    Paint myPaintWhite=new Paint();

                    myPaintWhite.setARGB(255, 255, 255, 255);


                //  Draw inner info window
                canvas.drawRoundRect(infoWindowRect, 5, 5, getInnerPaint());

                //  Draw border for info window
                canvas.drawRoundRect(infoWindowRect, 5, 5, getBorderPaint());

                //  Draw the MapLocation's name


                myPaintBlack.setColor(Color.BLACK);
                myPaintBlack.setTextSize(20);

                canvas.drawBitmap(bitmap, infoWindowOffsetX-50, infoWindowOffsetY-100,getInnerPaint());
                if(isNameAddHold)
                {
                argid=selectedMapLocation.getID();
                argName=selectedMapLocation.getName();
                name=selectedMapLocation.getName();
                toLat = selectedMapLocation.getLatitude();
                toLng = selectedMapLocation.getLongitude();
                if(name.length()>18)
                name=selectedMapLocation.getName().substring(0,18)+"..";
                argAddress=selectedMapLocation.getAddress();
                address=selectedMapLocation.getAddress();
                if(address.length()>30)
                address=selectedMapLocation.getAddress().substring(0,30)+"..";
                }
                canvas.drawText(name,infoWindowOffsetX-45,infoWindowOffsetY-70,myPaintBlack);
                myPaintBlack.setTextSize(13);
                canvas.drawText(address,infoWindowOffsetX-45,infoWindowOffsetY-55,myPaintBlack);

            //  Draw inner info window
                canvas.drawRoundRect(infoWindowRect, 5, 5, getInnerPaint());

                //  Draw border for info window
                canvas.drawRoundRect(infoWindowRect, 5, 5, getBorderPaint());
                //  Draw the MapLocation's name
                myPaintBlack.setColor(Color.CYAN);
                myPaintBlack.setTextSize(11);
                //canvas.drawText("Click for more info..",infoWindowOffsetX+105,infoWindowOffsetY-33,myPaintBlack);
                canvas.drawBitmap(bitMoreInformation, infoWindowOffsetX+95, infoWindowOffsetY-45,getInnerPaint());
                //canvas.drawBitmap(bitCross, infoWindowOffsetX+160, infoWindowOffsetY-90,getInnerPaint());

            }
        }
        if(isRemovePriorPopup)
        {
        if(((testX>(infoWindowOffsetX+95)&&testX<(infoWindowOffsetX+195)))&&(testY>(infoWindowOffsetY-45)&&testY<(infoWindowOffsetY-25)))
            {
            if(temp){
                try
                {
                    temp=false;
                    isNameAddHold=false;
                isRemovePriorPopup=false;
                Context context=mapLocationViewer.cn;
                Toast.makeText(context, "Loading...", Toast.LENGTH_SHORT).show();
                Intent intent=new Intent(context, MoreInformation.class);
                intent.putExtra("Id",argid);
                intent.putExtra("Name",argName);
                intent.putExtra("Address",argAddress);
                intent.putExtra("Latitude",toLat);
                intent.putExtra("Longitude",toLng);

                context.startActivity(intent);

                }
                catch (Exception ex)
                {
                    Log.d("Redirected Error :", ex.getMessage());
                }
        //canvas.drawText("This is for Testing",testX,testY,myPaintBlack);
            }}
            else if(((testX>(infoWindowOffsetX+160)&&testX<(infoWindowOffsetX+180)))&&(testY>(infoWindowOffsetY-90)&&testY<(infoWindowOffsetY-70)))
            {

                if(isRemovePriorPopup)
                {
                 isRemovePriorPopup=false;                  
                 selectedMapLocation=null;
                 draw(canvas, mapView, shadow);
                // mapLocationViewer.setDZoom();
                }

            }
        }
    }

    public Paint getInnerPaint() {
        if ( innerPaint == null) {
            innerPaint = new Paint();
            innerPaint.setARGB(225, 75, 75, 75); //gray
            innerPaint.setAntiAlias(true);
        }
        return innerPaint;
    }

    public Paint getBorderPaint() {
        if ( borderPaint == null) {
            borderPaint = new Paint();
            borderPaint.setARGB(255, 255, 255, 255);
            borderPaint.setAntiAlias(true);
            borderPaint.setStyle(Style.STROKE);
            borderPaint.setStrokeWidth(2);
        }
        return borderPaint;
    }

    public Paint getTextPaint() {
        if ( textPaint == null) {
            textPaint = new Paint();
            textPaint.setARGB(255, 255, 255, 255);
            textPaint.setAntiAlias(true);
        }
        return textPaint;
    }


}

In this code i have design a function draw infowindow

浮生未歇 2024-10-15 13:38:51
MarkerOptions maropt=new MarkerOptions()
    .position(new LatLng(lati, longi))
    .snippet("any text")
            .title("set title here");

map.addMarker(maropt);

地图是 GoogleMap 的对象。我在这里使用标记来设置弹出窗口

MarkerOptions maropt=new MarkerOptions()
    .position(new LatLng(lati, longi))
    .snippet("any text")
            .title("set title here");

map.addMarker(maropt);

map is an object of GoogleMap . I am using here markers to set pop up window

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文