Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ionic framework 如何从离子3中的离子输入字段中获取城市名称?_Ionic Framework_Ionic3_Ionic4 - Fatal编程技术网

Ionic framework 如何从离子3中的离子输入字段中获取城市名称?

Ionic framework 如何从离子3中的离子输入字段中获取城市名称?,ionic-framework,ionic3,ionic4,Ionic Framework,Ionic3,Ionic4,在这里我只想知道一个城市的名字,我只想知道我能得到多少,我关注了一些博客,但有点困惑 我的html <ion-input type="text" [(ngModel)]="default.city"></ion-input> 我正在寻找一些ionic cordova插件来自动完成键入的位置,列出可能的位置并选择其中一个。如果您有一个对象城市数组,您可以通过以下方式按城市名称对其进行过滤 searchCityByName(searchText: any) { c

在这里我只想知道一个城市的名字,我只想知道我能得到多少,我关注了一些博客,但有点困惑

我的html

<ion-input  type="text" [(ngModel)]="default.city"></ion-input>

我正在寻找一些ionic cordova插件来自动完成键入的位置,列出可能的位置并选择其中一个。

如果您有一个对象城市数组,您可以通过以下方式按城市名称对其进行过滤

searchCityByName(searchText: any) {
    const length = searchText.length;
    console.log('filtering');
    console.log(length);
    if (length > 0) {
      this.cities= this.cities.filter(city=> {
        return city.name.toLowerCase().indexOf(searchText.toLowerCase()) >= 0;
      });
    } 
  }

根据您希望何时显示自动搜索结果,您可以将其绑定到事件

<ion-input  type="text" [(ngModel)]="default.city" (ionBlur)="someFunction()"></ion-input>
如果你需要的话

对于反向地理编码,您可以使用geocoder插件 插件

并将其显示在dom中的somwhere上

<div (click)="completeauto()" *ngIf="showAutosearch">{{autosearchresult}}</div>
{{autosearchresult}
请记住,您还需要一些方法来删除搜索结果,并将搜索栏设置为单击的值。如果用户点击它

此外,如果你有一个谷歌云帐户,你可以激活比爱奥尼亚原生版本更健壮的谷歌Places API,但你需要一个支持信用卡的帐户


MapBox API也提供地理编码,但我对它不太熟悉。

您想做什么还不清楚。离子输入和这个函数之间的关系是什么?当我在输入字段中键入一些东西时,我只想通过自动搜索获得城市名称@RanikaNisalIs此位置列表是您提供的列表。还是你想用一些geolocation@RanikaNisal我想使用一些地理位置谢谢你的快速回答,我的问题中包含了更多细节,请再读一遍:-)
 (ionChange)="someFunction()" or  (input)="someFunction()"
somefunction(inputText) {
 this.nativeGeocoder.forwardGeocode('Berlin', options)
  .then((coordinates: NativeGeocoderForwardResult[]) => {
      this.autosearchresult = coordinates[0] // If you want one
 })
.catch((error: any) => console.log(error));
}
<div (click)="completeauto()" *ngIf="showAutosearch">{{autosearchresult}}</div>