Android之仿美团和百度外卖选址控件

利用高德地图模拟美团搜索相似地址以及地图摄取选择类似地址 效果图 我觉得不用废话那么多,直接上代码吧! <!doctype html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" con... 阅读详情

一:效果图

二:实现步骤

1.选址控件xml布局实现

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff"
    android:orientation="vertical">

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="2">

        <com.amap.api.maps2d.MapView
            android:id="@+id/map_local"
            android:layout_width="match_parent"
            android:layout_height="match_parent"></com.amap.api.maps2d.MapView>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:layout_gravity="center"
            android:src="@mipmap/gps_position"
            android:translationY="-18dp" />
    </RelativeLayout>


    <ListView
        android:id="@+id/map_list"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="3"
        android:background="#ffffff"
        android:divider="#ffffff"
        android:dividerHeight="0.5dp"
        android:scrollbars="none"></ListView>
</LinearLayout>

2.选址控件Activity实现(代码都有注释就不多说了)

package bzmapselection.com.mapselection;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;

import com.amap.api.location.AMapLocation;
import com.amap.api.location.AMapLocationClient;
import com.amap.api.location.AMapLocationClientOption;
import com.amap.api.location.AMapLocationListener;
import com.amap.api.maps2d.AMap;
import com.amap.api.maps2d.CameraUpdateFactory;
import com.amap.api.maps2d.LocationSource;
import com.amap.api.maps2d.MapView;
import com.amap.api.maps2d.model.CameraPosition;
import com.amap.api.maps2d.model.LatLng;
import com.amap.api.maps2d.overlay.PoiOverlay;
import com.amap.api.services.core.AMapException;
import com.amap.api.services.core.LatLonPoint;
import com.amap.api.services.core.PoiItem;
import com.amap.api.services.core.SuggestionCity;
import com.amap.api.services.poisearch.PoiResult;
import com.amap.api.services.poisearch.PoiSearch;

import java.util.List;


/**
 * Created by Administrator on 2017/7/10.
 */
public class AddressMapActivity extends Activity implements LocationSource, AMapLocationListener, AMap.OnCameraChangeListener, PoiSearch.OnPoiSearchListener {

    private MapView mapView;
    private ListView mapList;
    private AMapLocationClient mLocationClient;
    private OnLocationChangedListener mListener;
    private LatLng latlng;
    private String city;
    private AMap aMap;
    private String deepType = "";// poi搜索类型
    private PoiSearch.Query query;// Poi查询条件类
    private PoiSearch poiSearch;
    private PoiResult poiResult; // poi返回的结果
    private PoiOverlay poiOverlay;// poi图层
    private List<PoiItem> poiItems;// poi数据
    private String latj;
    private String longaj;

    private PoiListAdapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.addressmapactivity);
        mapView = (MapView) findViewById(R.id.map_local);
        mapList = (ListView) findViewById(R.id.map_list);
        mapView.onCreate(savedInstanceState);
        init();
    }

    private void init() {
        if (aMap == null) {
            aMap = mapView.getMap();
            aMap.setOnCameraChangeListener(this);
            setUpMap();

        }
        deepType = "汽车服务|汽车销售|汽车维修|摩托车服务|餐饮服务|购物服务|生活服务|体育休闲服务|医疗保健服务|住宿服务|风景名胜|商务住宅|政府机构及社会团体|科教文化服务|交通设施服务|金融保险服务|公司企业|道路附属设施|地名地址信息";//这里以餐饮为例
    }


    //-------- 定位 Start ------

    private void setUpMap() {
        if (mLocationClient == null) {
            mLocationClient = new AMapLocationClient(getApplicationContext());
            AMapLocationClientOption mLocationOption = new AMapLocationClientOption();
            //设置定位监听
            mLocationClient.setLocationListener(this);
            //设置为高精度定位模式
            mLocationOption.setOnceLocation(true);
            mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
            //设置定位参数
            mLocationClient.setLocationOption(mLocationOption);
            mLocationClient.startLocation();
        }
        aMap.setLocationSource(this);// 设置定位监听
        aMap.getUiSettings().setMyLocationButtonEnabled(true);// 设置默认定位按钮是否显示
        aMap.setMyLocationEnabled(true);// 设置为true表示显示定位层并可触发定位,false表示隐藏定位层并不可触发定位,默认是false
    }

    /**
     * 开始进行poi搜索
     */
    protected void doSearchQuery() {
        latj = String.valueOf(latlng.latitude);
        longaj = String.valueOf(latlng.longitude);
        aMap.setOnMapClickListener(null);// 进行poi搜索时清除掉地图点击事件
        int currentPage = 0;
        query = new PoiSearch.Query("", deepType, "");// 第一个参数表示搜索字符串,第二个参数表示poi搜索类型,第三个city参数表示poi搜索区域(空字符串代表全国)
        query.setPageSize(20);// 设置每页最多返回多少条poiitem
        query.setPageNum(currentPage);// 设置查第一页
        LatLonPoint lp = new LatLonPoint(latlng.latitude, latlng.longitude);
        poiSearch = new PoiSearch(this, query);
        poiSearch.setOnPoiSearchListener(this);
        poiSearch.setBound(new PoiSearch.SearchBound(lp, 2000, true));
        // 设置搜索区域为以lp点为圆心,其周围2000米范围
        poiSearch.searchPOIAsyn();// 异步搜索

    }

    @Override
    public void onLocationChanged(AMapLocation aMapLocation) {
        if (mListener != null && aMapLocation != null) {
            if (aMapLocation.getErrorCode() == 0) {
                // 显示我的位置
                mListener.onLocationChanged(aMapLocation);
                //设置第一次焦点中心
                latlng = new LatLng(aMapLocation.getLatitude(), aMapLocation.getLongitude());
                aMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latlng, 17), 1000, null);
                city = aMapLocation.getProvince();
                doSearchQuery();
            } else {
                Toast.makeText(AddressMapActivity.this, "定位失败,请打开定位权限", Toast.LENGTH_SHORT).show();
                String errText = "定位失败," + aMapLocation.getErrorCode() + ": " + aMapLocation.getErrorInfo();
                Log.e("AmapErr", errText);
            }
        }
    }

    @Override
    public void activate(OnLocationChangedListener listener) {
        mListener = listener;
        mLocationClient.startLocation();
    }

    @Override
    public void deactivate() {
        mListener = null;
        if (mLocationClient != null) {
            mLocationClient.stopLocation();
            mLocationClient.onDestroy();
        }
        mLocationClient = null;
    }

    @Override
    public void onCameraChange(CameraPosition cameraPosition) {
    }

    @Override
    public void onCameraChangeFinish(CameraPosition cameraPosition) {
        latlng = cameraPosition.target;
        aMap.clear();
        doSearchQuery();
    }

    @Override
    public void onPoiSearched(PoiResult result, int rCode) {
        if (rCode == AMapException.CODE_AMAP_SUCCESS) {
            // 搜索poi的结果
            if (result != null && result.getQuery() != null) {
                // 是否是同一条
                if (result.getQuery().equals(query)) {
                    poiResult = result;
                    poiItems = poiResult.getPois();// 取得第一页的poiitem数据,页数从数字0开始
                    List<SuggestionCity> suggestionCities = poiResult
                            .getSearchSuggestionCitys();
                    if (poiItems != null && poiItems.size() > 0) {
                        adapter = new PoiListAdapter(this, poiItems);
                        mapList.setAdapter(adapter);
                        mapList.setOnItemClickListener(new mOnItemClickListener());
                    } else {
                        System.out.println("无结果");
                    }
                }
            } else {
                System.out.println("无结果");
            }
        } else if (rCode == 27) {
            System.out.println("error_network");
        } else if (rCode == 32) {
            System.out.println("error_key");
        } else {
            System.out.println("error_other:" + rCode);
        }
    }

    @Override
    public void onPoiItemSearched(PoiItem poiItem, int i) {

    }

    //-------- 定位 End ------

    @Override
    protected void onResume() {
        super.onResume();
        mLocationClient.startLocation();
    }

    @Override
    protected void onPause() {
        super.onPause();
        mLocationClient.stopLocation();
    }

    @Override
    protected void onDestroy() {
        mLocationClient.onDestroy();
        super.onDestroy();
    }

    private class mOnItemClickListener implements AdapterView.OnItemClickListener {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            String lat = String.valueOf(poiItems.get(position).getLatLonPoint().getLatitude());
            String longa = String.valueOf(poiItems.get(position).getLatLonPoint().getLongitude());
            Intent intent = new Intent();
            intent.putExtra("lat", latj);
            intent.putExtra("long", longaj);
            intent.putExtra("title", poiItems.get(position).getTitle());
            intent.putExtra("adname", poiItems.get(position).getAdName());
            setResult(RESULT_OK, intent);
            finish();
        }
    }

}

3.导入第三方jar包和so文件并引用

4.去高德官方申请应用KEY在AndroidManifest.xml的Application下申明

5.在AndroidManifest.xml给相应的权限

<!--高德权限-->
<!--地图包、搜索包需要的基础权限-->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!--定位包、导航包需要的额外权限(注:基础权限也需要)-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />

------------到这功能就实现差不多了,欢迎大家转载,转载请注明出处、

------------最后给附上源码:http://download.youkuaiyun.com/download/android_cll/9894084

实现仿百度外卖地图拖动定位功能的Android实践指南 百度地图API是一套为开发者提供的接口集合,通过这些接口,可以在移动应用或网页中嵌入地图、获取位置信息、路径规划等功能。API遵循RESTful设计原则,易于理解和使用。除了选择百度地图预设的地图类型和风格外,开发者还可以通过修改地图图层的样式来创建个性化的地图主题。这可以通过修改地图的CSS样式或使用百度地图提供的对象来实现。// 自定义地图样式enableMapClick: false, // 禁用地图点击事件。 阅读详情

相关推荐

Android仿美团城市切换,高德定位

Android源码,仿美团城市切换功能,利用高德地图定位

Android中调用第三方实现美团城市选择

1.添加依赖 compile 'com.zaaach:citypicker:1.1'     2.清单文件中添加 activity android:name="com.zaaach.citypicker.CityPickerActivity" android:screenOrientation="portrait" android:theme="@styl

weikai_的博客 3949

仿美团地址选择

原地址:http://dwtedx.com/itshare_451.html

android 仿京东地址选择_Android 开发:仿美团地址选择

最近做了这个功能,分享一下,用的是百度地图api,和美团外卖的地址选择界面差不多,也就是可以搜索或者滑动地图展示地址列表给用户选择,看下效果图先。文章重点展示地图并定位到“我”的位置 滑动地图获取周边poi(逆地理编码)搜索框输入查询poi(POI检索)前言这里先提一下,我们要选择的地址信息其实是POI(Point of Interest),即“兴趣点”。在地理信息系统中,一个POI可以是一栋房子...

weixin_39835178的博客 383

Unity轻量级框架QFramework:四层架构与命令事件驱动的实战指南

在Unity游戏开发中,软件架构是确保项目可维护性和可扩展性的核心。通过分层架构(如MVC、DDD)和事件驱动设计,开发者能够有效管理代码复杂度,实现模块间的解耦与高效通信。QFramework作为一个轻量级框架,精准地运用了这些原理,通过严格定义的四层架构(表现层、系统层、数据层、工具层)和命令/事件通信规则,为中小型项目提供了“约束下的自由”。其核心价值在于以极简的代码(不足1000行)强制实施清晰的职责分离,如使用命令模式集中管理状态变更,并通过事件驱动实现响应式更新。这种设计特别适用于解决项目规模扩

weixin_42521032的博客 262

解密微信视频号推荐算法的三大核心机制

本文深入解析微信视频号推荐算法的三大核心机制:用户行为数据、视频内容质量和社交关系链。通过详细的数据分析和实战测试,揭示算法如何根据完播率、互动深度、原创性检测和社交关系等因素决定内容推荐。帮助用户和创作者更好地理解并利用视频号算法,提升内容曝光和观看体验。

weixin_42573113的博客 1786

安卓高德地图的使用

最近项目用到高德地图,因此来写一篇文章理一下高德的使用步骤方法,希望对大家有用! 1.注册+配置 废话不多说,要使用高德地图首先要去高德开放平台注册成为开发者(http://lbs.amap.com/), 注册成为高德开发者需要分三步:第一步,注册高德开发者;第二步,去控制台创建应用;第三步,获取Key(见下图,注意看命名规范,SHA1值得获取网上有!很简单)。 获取key

IT_51888_liang的博客 3020

TSmaster CANFD配置避坑指南:为什么你的PCAN盒不支持最新版本?

本文针对TSmaster配置PCAN硬件进行CANFD通信时的常见问题,提供了详细的避坑指南。重点解析了CANFD配置中TSEG1等关键参数的理解误区,并深入探讨了TSmaster新版本与PCAN硬件驱动之间的兼容性变化,帮助工程师快速定位并解决连接失败或无法发送CANFD报文等问题。

alpha的博客 542

Android类似微信详细地址选择(高德地图)

利用高德地图的API做了一个类似微信发送位置界面地址选择,界面就3个,一个选择地址(周边搜索),一个搜索界面(关键字搜索),最后将选择的地址信息返回主界面,效果图如下:   对于详细地址选择,在项目中难免会遇到,比如电商app,旅游app等等,下面简单讲解如何实现:一、注册高德开发者账号,创建应用,获取AppId1.创建应用过程红色※为必填项,其中 SHA1获取方式 确认随后得到appid2.下载...

Ikulm的博客 9188

TCGA之GDC-client工具下载安装与使用

文章主要是对GDC-client工具下载TCGA数据库数据整个过程的一个记录 1.下载GDC-client工具 GDC-client工具网址:GDC Data Transfer Tool | NCI Genomic Data Commons (cancer.gov) 我这里下的是上图中红圈中的版本, 2.解压安装 从网上了解的是不能解压到带中文的路径里,解压后是一个.exe文件,为了能直接在cmd命令行下使用,将其加入系统环境: 点击新建之后,输入将文件解压到的路径,然后...

better_strong的博客 1万+

实现高精度卷积混响--MATLAB仿真篇

一、前言 之前在STM32F407上现实了直播声卡,实现的经典Schroeder混响模型和Moorer混响模型,得到不错效果。后来得知卷积混响最为真实地表现空间的特性,所以也就尝试在MCU上实现一个高精度的卷积混响(卷积点数为32768),目前MCU出来的混响效果算得上一流水准,本人也在计划在ADI的21489或者SC584上更高精度的卷积混响。 二、卷积方式 1、conv1是使用MATLAB自带卷积函数conv 2、conv2和conv3是改进后卷积过程,具有减少运算量特点,方便嵌入式移植 clear;

Six44的博客 5079

Android仿微信地图定位和位置选择(下)

图 上篇文章介绍了基本的常用功能,这边文件介绍剩余的位置信息更新、搜索、手势绑定和显示等内容。 一、获取坐标系附近的信息 二、设置附近的信息到列表 三、手势滑动绑定到列表数据 四、搜索功能实现 五、搜索指定的地址 六、地址信息更新到列表 ...

一杯清泉 1923

避坑指南:用Adams做滚珠丝杠仿真时90%人会遇到的3个建模错误

本文针对使用Adams进行滚珠丝杠动力学仿真时常见的三大建模错误,提供了详细的避坑指南。重点解析了如何避免因直接导入CAD几何体导致的性能与精度问题,科学设置接触参数以提升计算效率与结果平滑度,以及通过规范的命名与组织管理模型,确保仿真过程高效可靠。

gin88的博客 573

Android仿微信地图定位和位置选择(上)

一杯清泉 2138

【Proteus仿真】51单片机+DAC0832+数码管制作0-25V电压可调

【Proteus仿真】51单片机+DAC0832+数码管制作0-25V电压可调

perseverance51博客 2117

全面解读 SAP Business Data Cloud

SAP 在 2025 年初正式推出(简称BDC),它把、以及全新的统一封装为一项完全托管的 SaaS 服务,配套交付“语义层 + 数据产品 + 智能应用”三层能力,为企业构建真正贴近业务语境的 “Business Data Fabric”。这一方案不仅解决了跨系统数据碎片化、治理难及 AI 训练数据可信度低的问题,还为现有 BW 客户、S/4HANA以及第三方工作负载提供云上现代化路径和零拷贝数据共享机制。本文将围绕技术架构、核心组件、业务场景、迁移路线及未来展望展开,以 Henkel 等真实案例佐证。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 909

Android开发-使用高德地图SDK实现仿钉钉打卡的功能

前 言 LBS(基于地理位置服务)是当前移动互联网大部分应用不可或缺的功能,基于地理位置服务的Android平台的开发是主要用于Android系统作为载体,我们可以利用定位出的位置进行许多丰富多彩的操作。比如说天气预报程序可以根据用户所在的位置自动选择城市,发微博的时候我们可以向朋友晒一下自己的地理位置,不认识路的时候随时打开地图就可以查询路线;如果你出门打车用滴滴或Uber打车,你可以看到附...

_彼岸雨敲窗_的博客 8781

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

安卓仿滴滴顺风车高德地图选择区域不规则矩形

安卓仿滴滴顺风车高德地图选择区域不规则矩形

weixin_43225603的博客 563

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

实现Android应用调用第三方(高德、百度、腾讯)地图应用导航(仿微信调用第三方地图)

在Android开发工作中,遇到一需求,需要在公司项目的应用中点击地图上的位置,弹出导航并选择跳转到一个第三方地图应用(高德地图、百度地图、腾讯地图)。 于是搜索了下,找到很多有用信息,在此把个人总结的分享出来^ . ^  首先来看下UI图,这里没有使用弹出的形式,这只是个演示…… 这里的经纬度是高德腾讯地图的经纬度,可以在这个在线地图经度纬度查询获取地理位置的经纬度信息 下面是布局文...

不言三尺剑 2万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

从零开始的Android Studio + 高德地图SDK实现地图定位 + 导航

首先找到自己的debug.keystore位置,一般在C盘下的用户目录内:C:\Users\自己的用户名\.android\debug.keystore。在AndroidManifest.xml中标签外面粘贴:(方便起见我把后面会用到的所有权限全部给出)这个在自己的项目中的AndroidManifest.xml获取: package = "所需要的PackageName"然后输入密码,默认密码为:android,成功获得调试版SHA1。完成上述三步后就得到了高德地图的KEY。

m0_75078928的博客 7023

Android使用高德地图实现导航效果

本人专注于Android/java/数据库/微信小程序技术领域的开发,以及有好几年的计算机毕业设计方面的实战开发经验和技术积累;尤其是在安卓(Android)的app的开发和微信小程序的开发,很是熟悉和了解;本人也是多年的Android开发人员;希望我发布的此篇文件可以帮助到您;🍅。

u014388322的专栏 1854

Android仿美团切换城市

坚持。。。

乐于分享,乐于讨论,欢迎大家积极讨论 1万+

Andriod——地址选择(仿美团)

根据Demo,修改一些后效果如下: 其中Demo中assets中下写死着含有拼音和城市缩写名的数据库。在实际项目中,我是先在刚下载好app后,从服务器中获取含有拼音,城市缩写名,及城市ID的数据,拆入本地数据库AddressCitiesBeanEntity表,之后判断本地该表是否有数据,不存在数据时,再去获得。代码如下:try { List<AddressCitiesBea

茶卡y的专栏 994

仿美团城市定位于城市选择

      项目有一个天气预报的需求,但是要能进行切换城市,效果可爱的设计妹子直接指定要美团的效果。效果如下图。翻了一遍优快云,这玩意当然找现成的,重复造轮子的事不是我等高级开发工程师应该有的思想。当然顺便也去github搜刮了一遍。发现以下不错的文章:https://github.com/zaaach/CityPicker,本文基本都是参考此文修改的。     看到现成的还是那么完美肯...

zhyazaq的博客 4941

Android 仿美团网,探索ListView的A-Z字母排序功能实现选择城市

记得在我刚开始接触到美团网的时候就对美团网这个城市定位、选择城市功能很感兴趣,觉得它做得很棒。有如下几个点: 一:实现ListView的A-Z字母排序功能 二:根据输入框的输入值改变来过滤搜索结果,如果输入框里面的值为空,更新为原来的列表,否则为过滤数据列表 三:汉字转成拼音的功能,很多时候实现联系人或者城市列表等实现A-Z的排序功能,我们可以直接从数据库中获取他的汉字拼音,而对于一般的数据,

Angelica 1万+

android 仿美团选择城市界面

最近,需要搞一个小功能,仿照美团外卖那种切换城市的小功能,开始觉得还挺简单,但是后来仔细分析还是有点小复杂,但克服困难,参考参考资料也算大功告成了。废话就到这里,然后开始撸代码。第一步 总想找点资料 ,全国城市的数据库,要是没有还得自己搞数据库,干脆偷下懒直接拿过来用吧(嘿嘿)附件如下 导入到自己的项目中直接使用吧第二就要写数据库的帮助类了 如下直接贴上代码(主要的部分)注释有的。// 用户数据库...

寂夜了无痕的博客 9664
上一篇: Android之百度自动更新
下一篇: Android之蓝牙连接打印机
叶已初秋
博客等级 码龄11年 2684粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶已初秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值