微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用android/java实现浮动地图

如何解决如何使用android/java实现浮动地图

嗨,我需要实现一个像这样的浮动地图

enter image description here

我的应用程序将在后台运行,当用户到达某个位置时,此弹出窗口应显示其包含来自 admob 的谷歌地图和横幅广告

就像真正的调用者所做的一样

enter image description here

我尝试将地图制作为小部件,但这就是我通过服务获得的 在这个话题 android java how to make a floating map like google navigation map?

enter image description here

所以我现在正在尝试将地图活动制作为画中画

这是我的代码

公共类 MainActivity 扩展 AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    openPicInPic();
}

private void openPicInPic(){
    Timer timerObj = new Timer();
    TimerTask timerTaskObj = new TimerTask() {
        public void run() {
            Intent intent = new Intent(MainActivity.this,MapActivity.class);
            startActivity(intent);
        }
    };
    timerObj.schedule(timerTaskObj,5000);
}

这是我的 mapActivity ( mapview )

public class MapActivity extends Activity implements OnMapReadyCallback {
private MapView mMapView;

private static final String MAPVIEW_BUNDLE_KEY = "MapViewBundleKey";

@Override
public void onUserLeaveHint () {
    startPicInPic();

}

private void startPicInPic() {
    PictureInPictureParams pictureInPictureParams = new PictureInPictureParams.Builder().build();
    enterPictureInPictureMode(pictureInPictureParams);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.map_activity);

    // *** IMPORTANT ***
    // MapView requires that the Bundle you pass contain _ONLY_ MapView SDK
    // objects or sub-Bundles.
    Bundle mapViewBundle = null;
    if (savedInstanceState != null) {
        mapViewBundle = savedInstanceState.getBundle(MAPVIEW_BUNDLE_KEY);
    }
    mMapView = (MapView) findViewById(R.id.map);
    mMapView.onCreate(mapViewBundle);

    mMapView.getMapAsync(this);


    startPicInPic();
}

清单

<activity android:name=".MapActivity"
            android:supportsPictureInPicture="true"
            android:configChanges=  "screenSize|smallestScreenSize|screenLayout|orientation"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
            />

当我把应用程序放在后台运行时,当计时器运行时它总是打开带有地图的应用程序,我只需要显示如上图的地图

这是我的结果

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。