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>
我在 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>