IOS 上的位置不适用于 Ionic 中的地理定位

Location on IOS do not work with geolocation in Ionic

我在 ionic 中构建构建时尝试这样做,但位置在 IOS 上并且不适用于 ionic 2 应用程序中的地理定位。

我已经安装了 ionic cordova 插件添加 cordova-plugin-geolocation 和

在 android 台设备中,当启用位置服务时它正在工作。当定位服务关闭时,它无法正常工作。在 iOS 设备中,这两种情况都不起作用。需要一些帮助!!

import { Geolocation } from '@ionic-native/geolocation';

我在 Providers 中提到了 Geolocation;在 home.ts 中,我导入了 Geolocation。

为了获取当前位置我写了下面的代码

getCurrentLocation(){    
    this.geolocation.getCurrentPosition().then((position) => {
        let loc = {
          placeId: null,
          name:null,
          lat:null,
          long:null,
        }

        var lat = position.coords.latitude;
        var lng = position.coords.longitude;
        var latlng = new google.maps.LatLng(lat, lng);
        var geocoder = geocoder = new google.maps.Geocoder();
}

如果 IOS 上的位置不适用于地理定位

自 iOS 10 起,必须在 info.plist.

中添加 NSLocationWhenInUseUsageDescription 条目

NSLocationWhenInUseUsageDescription 描述了应用访问用户位置的原因。

当系统提示用户允许访问时,该字符串作为对话框的一部分显示。

要添加此条目,您可以在插件安装时传递变量 GEOLOCATION_USAGE_DESCRIPTION。

示例:cordova 插件添加 cordova-plugin-geolocation --变量 GEOLOCATION_USAGE_DESCRIPTION="your usage message"

如果您不传递变量,插件将添加一个空字符串作为值。

要解决您的问题,请尝试: 卸载插件: cordova 插件删除 cordova-plugin-geolocation 重新安装:

cordova 插件添加 cordova-plugin-geolocation --变量 GEOLOCATION_USAGE_DESCRIPTION="my_project would like to use your location"

platform/ios/{project}/{project}/project.info.plist

这将自动在 info.plist 文件中添加条目

您也可以手动编辑 platform/ios/{project}/{project}/project.info.plist 文件并添加以下行

 <key>NSLocationWhenInUseUsageDescription</key>
 <string>Location is needed because [your reason]</string>