how to display map in android with marker

前端 未结 1 1958
心在旅途
心在旅途 2020-11-27 07:20

I am working on android app and I am totally newbe in this. So I want to know how to display marker in map and how to change his position on specific time like defining thre

相关标签:
1条回答
  • 2020-11-27 07:30

    If you're going to show just a single item, MapView.addView() and later updating position with setLayoutParams does the trick.

    private ImageView mCurrentPointer;
    
    @Override
    public void onLocationChanged(Location l) {
        int latitude = (int) (l.getLatitude() * 1e6);
        int longitude = (int) (l.getLongitude() * 1e6);
        // Prepare new LayoutParams object that centers on our new latitude/longitude
        MapView.LayoutParams lp = new MapView.LayoutParams(MapView.LayoutParams.WRAP_CONTENT, 
                MapView.LayoutParams.WRAP_CONTENT, new GeoPoint(latitude, longitude),
                MapView.LayoutParams.CENTER);
    
        if (mCurrentPointer == null) {
            // If "current location" pin is null, we haven't added it
            // to MapView yet. So instantiate it and add it to MapView:
            mCurrentPointer = new ImageView(this); 
            mCurrentPointer.setImageResource(R.drawable.ic_maps_indicator_current_position);
            mMapView.addView(mCurrentPointer, lp);
        } else {
            // If it's already added, just update its location
            mCurrentPointer.setLayoutParams(lp);
        }
    }
    
    0 讨论(0)
提交回复
热议问题