diff --git a/components/map-location/README.md b/components/map-location/README.md
new file mode 100644
index 0000000..0b8099d
--- /dev/null
+++ b/components/map-location/README.md
@@ -0,0 +1,182 @@
+# MapLocation 地图定位组件
+
+一个可复用的地图定位组件,集成了地址输入、位置获取、地图打开等功能。
+
+## 功能特性
+
+- 📍 自动获取当前位置
+- 🗺️ 一键打开系统地图
+- 📝 支持手动输入地址
+- 📱 跨平台支持(APP、微信小程序、H5)
+- 🎨 美观的UI设计
+- 🔧 高度可配置
+
+## 使用方法
+
+### 基础用法
+
+```vue
+
+
+
+
+
+```
+
+### 完整用法
+
+```vue
+
+
+
+
+
+```
+
+## Props 属性
+
+| 属性名 | 类型 | 默认值 | 说明 |
+|--------|------|--------|------|
+| label | String | '地址' | 表单标签 |
+| placeholder | String | '请输入或选择收货地址' | 输入框占位符 |
+| value | String | '' | 地址值(支持v-model) |
+| showLocationCard | Boolean | true | 是否显示位置建议卡片 |
+
+## Events 事件
+
+| 事件名 | 参数 | 说明 |
+|--------|------|------|
+| input | String | 地址值变化时触发 |
+| location-success | Object | 位置获取成功时触发 |
+| location-error | Error | 位置获取失败时触发 |
+| use-location | Object | 点击使用位置时触发 |
+| map-opened | - | 地图打开成功时触发 |
+| address-focus | - | 地址输入框获得焦点时触发 |
+| address-input | String | 地址输入时触发 |
+
+## 位置对象结构
+
+```javascript
+{
+ address: "纬度: 39.123456, 经度: 116.123456",
+ latitude: 39.123456,
+ longitude: 116.123456
+}
+```
+
+## 方法
+
+组件提供了以下方法供外部调用:
+
+### setLocation(location)
+手动设置位置信息
+
+```javascript
+// 在父组件中调用
+this.$refs.mapLocation.setLocation({
+ address: '北京市朝阳区',
+ latitude: 39.123456,
+ longitude: 116.123456
+})
+```
+
+### clearLocation()
+清空位置信息
+
+```javascript
+// 在父组件中调用
+this.$refs.mapLocation.clearLocation()
+```
+
+## 平台支持
+
+- ✅ APP-PLUS:使用系统地图应用
+- ✅ MP-WEIXIN:使用微信小程序地图
+- ✅ H5:使用高德地图在线版
+
+## 依赖
+
+- `@/utils/permission.js`:权限处理工具
+- uni-app 定位API
+- uni-app 地图API
+
+## 注意事项
+
+1. 首次使用需要用户授权定位权限
+2. 不同平台的权限处理可能略有差异
+3. H5环境下需要网络连接才能使用地图功能
+4. 建议在真机上测试定位功能
\ No newline at end of file
diff --git a/components/map-location/map-location.vue b/components/map-location/map-location.vue
new file mode 100644
index 0000000..f16282f
--- /dev/null
+++ b/components/map-location/map-location.vue
@@ -0,0 +1,431 @@
+
+
+
+
+ {{ label || '地址' }}
+
+
+
+ 🗺️
+
+
+
+
+
+
+
+
+
+ {{ currentLocation.address }}
+
+
+
+
+
+
+ 需要定位权限
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/lease/lease.vue b/pages/lease/lease.vue
index 1dbe23e..b7e150d 100644
--- a/pages/lease/lease.vue
+++ b/pages/lease/lease.vue
@@ -38,47 +38,15 @@
-
- 地址
-
-
-
- 🗺️
-
-
-
-
-
-
-
-
-
- {{ currentLocation.address }}
-
-
-
-
-
-
- 需要定位权限
-
-
-
-
+
@@ -134,10 +102,13 @@