• 下载
  • 社区

my.chooseCity

打开城市选择列表。


扫码体验

选择城市.jpeg


效果示例


choosecity.gif


示例代码

<!-- API-DEMO page/API/choose-city/choose-city.axml-->
<view class="page">
  <view class="page-description">选择城市 API</view>
  <view class="page-section">
    <view class="page-section-title">my.chooseCity</view>
    <view class="page-section-demo">
      <button type="primary" onTap="chooseCity">选择城市</button>
    </view>
  </view>
  <view class="page-description">修改当前定位城市的名称 API</view>
  <view class="page-section">
    <view class="page-section-title">my.setLocatedCity</view>
    <view class="page-section-demo">
      <button type="primary" onTap="setLocatedCity">修改当前定位城市的名称</button>
    </view>
  </view>
</view>


// API-DEMO page/choose-city/choose-city.js
Page({
  chooseCity() {
    my.chooseCity({
      showLocatedCity: true,
      showHotCities: true,
      success: (res) => {
        my.alert({
          title: 'chooseCity response: ' + JSON.stringify(res),
        });
      },
    });
  },
  setLocatedCity() {
    my.onLocatedComplete({
      success: (res) => {
        my.setLocatedCity({
          locatedCityId:res.locatedCityId,//res.locatedCityId
          locatedCityName:'修改后的城市名', 
          success: (res) => {
            my.alert({ content: '修改当前定位城市成功' + JSON.stringify(res), });
          },
          fail: (error) => {
            my.alert({ content: '修改当前定位城市失败' + JSON.stringify(error), });
          },
        });
      },
      fail: (error) => {
        my.alert({ content: 'onLocatedComplete失败' + JSON.stringify(error), });
      }
    });
    my.chooseCity({
      showLocatedCity: true,
      showHotCities: true,
      setLocatedCity: true,
      success: (res) => {
        my.alert({
          title: 'chooseCity response: ' + JSON.stringify(res),
        });
      },
    });
  },
});


入参

Object 类型,属性如下:

属性

类型

必填

描述

showLocatedCity

Boolean

是否显示当前定位城市,默认 false。

showHotCities

Boolean

是否显示热门城市,默认 true。

setLocatedCity

Boolean

是否修改当前定位城市,默认 false,如果 showLocatedCity 为 false,此设置无效。

cities

Object Array

自定义城市列表,列表内对象字段见下表。

hotCities

Object Array

自定义热门城市列表,列表内对象字段见下表。

customHistoryCities

Object Array

自定义历史访问城市列表,列表内对象字段见下表。

success

Function

调用成功的回调函数。

fail

Function

调用失败的回调函数。

complete

Function

调用结束的回调函数(调用成功、失败都会执行)。


自定义城市列表 cities

cities 内对象字段如下所示:

名称

类型

必填

描述

city

String

城市名。

adCode

String

行政区划代码。

spell

String

城市名对应拼音拼写,方便用户搜索。


示例代码:

//.js
my.chooseCity({
  cities: [
    {
      city: '朝阳区',
      adCode: '110105',
      spell: 'chaoyang'
    },
    {
      city: '海淀区',
      adCode: '110108',
      spell: 'haidian'
    },
    {
      city: '丰台区',
      adCode: '110106',
      spell: 'fengtai'
    },
    {
      city: '东城区',
      adCode: '110101',
      spell: 'dongcheng'
    },
    {
      city: '西城区',
      adCode: '110102',
      spell: 'xicheng'
    },
    {
      city: '房山区',
      adCode: '110111',
      spell: 'fangshan'
    }
  ],
  hotCities: [
    {
      city: '朝阳区',
      adCode: '110105'
    },
    {
      city: '海淀区',
      adCode: '110108'
    },
    {
      city: '丰台区',
      adCode: '110106'
    }
  ],
  success: (res) => {
    my.alert({
      content: res.city + ':' + res.adCode
    });
  },
});


success 回调函数

说明如果用户没有选择任何城市,直接点击了返回,将不会触发回调函数。


入参为 Object 类型,属性如下:

属性

类型

描述

支付宝最低版本

city

String

城市名。


adCode

String

行政区划代码。


longitude

Number

经度(当前定位城市才会返回)

10.1.32

latitude

Number

纬度(当前定位城市才会返回)

10.1.32