getCities 城市选择列表

优质
小牛编辑
132浏览
2023-12-01
Since 8.1

getCities

getCities用来呼出城市选择列表

使用方法

AlipayJSBridge.call('getCities', function (result) {
  console.log(result);
});

代码演示

基本使用演示

<h1>点击打开选择城市</h1>
<a href="#" class="btn J_demo">打开城市列表</a>
<script>
function ready(callback) {
  // 如果jsbridge已经注入则直接调用
  if (window.AlipayJSBridge) {
    callback && callback();
  } else {
    // 如果没有注入则监听注入的事件
    document.addEventListener('AlipayJSBridgeReady', callback, false);
  }
}
ready(function(){
  document.querySelector('a').addEventListener('click', function() {
    AlipayJSBridge.call('getCities', function(result) {
      alert(JSON.stringify(result));
    });
  });
});
</script>
查看演示 扫码查看 用支付宝扫码运行

城市选择并开启定位功能

<h1>点击打开选择城市</h1>
<a href="#" class="btn J_demo">打开城市列表</a>
<script>
function ready(callback) {
  // 如果jsbridge已经注入则直接调用
  if (window.AlipayJSBridge) {
    callback && callback();
  } else {
    // 如果没有注入则监听注入的事件
    document.addEventListener('AlipayJSBridgeReady', callback, false);
  }
}
ready(function(){
  document.querySelector('a').addEventListener('click', function() {
    // 需要同时传入城市名称和adcode才能开启定位功能
    AlipayJSBridge.call('getCities', {
      currentCity: '杭州市', // 当前选择的城市,一般传入上次选择的就可以
      adcode: '310100'
    }, function(result) {
      alert(JSON.stringify(result));
    });
  });
});
</script>
查看演示 扫码查看 用支付宝扫码运行

自定义城市列表,并且不显示热门城市

<h1>点击打开选择城市</h1>
<a href="#" class="btn J_demo">打开城市列表</a>
<script>
 function ready(callback) {
  // 如果jsbridge已经注入则直接调用
  if (window.AlipayJSBridge) {
    callback && callback();
  } else {
    // 如果没有注入则监听注入的事件
    document.addEventListener('AlipayJSBridgeReady', callback, false);
  }
}
ready(function(){
  document.querySelector('a').addEventListener('click', function() {
    AlipayJSBridge.call('getCities', {
      needHotCity: false,
      customCities: [
        {name: "杭州", adcode: "xxxx", pinyin: "hangzhou"},
        {name: "上海", adcode: "yyyy", pinyin: "shanghai"}
      ]
    }, function(result) {
      alert(JSON.stringify(result));
    });
  });
});
</script>
查看演示 扫码查看 用支付宝扫码运行

API

AlipayJSBridge.call('getCities', {
  currentCity,
  adcode,
  needHotCity,
  customCities
}, fn)

入参

名称类型描述必选默认值版本
currentCitystring传入当前使用中的城市名N8.2
adcodestring传入当前使用中的城市的adcode(如果没有用到adcode,可以传入空字符串)N8.2
customCitiesarray自定义城市列表(格式:{name:”杭州”,adcode:”xxxx”,pinyin:”hangzhou”})N8.4
customHotCitiesarray自定义热门城市列表N8.4
needHotCitybool是否需要现实热门城市Ntrue8.4
fnfunction当选择了城市之后的回调

出参

回调函数带入的参数result: {city, adcode}

使用注意

  • getCities如果要开启定位,那么需要同时传入currentCityadcode