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



我在ionic中构建时正在尝试执行此操作,但是该位置位于IOS上,并且不适用于ionic 2应用程序中的地理位置。

我已经安装了离子科尔多瓦插件,添加了科尔多瓦插件地理位置和

在安卓设备中,当定位服务打开时,它正在工作。当定位服务关闭时,它不起作用。在iOS设备中,这两种情况都不起作用。需要一些帮助!!

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

在提供者中,我提到了地理位置;在home.ts中,我导入了地理位置。

要获取当前位置,我编写了以下代码

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 --variable GEOLOCATION_USAGE_DESCRIPTION="您的使用消息">

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

要解决您的问题,请尝试: 卸载插件: 科尔多瓦插件删除科尔多瓦插件地理位置 重新安装:

科尔多瓦插件添加科尔多瓦插件地理位置 --变量 GEOLOCATION_USAGE_DESCRIPTION="my_project想使用您的位置">

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>

最新更新