【问题标题】:Location on IOS do not work with geolocation in IonicIOS 上的位置不适用于 Ionic 中的地理位置
【发布时间】:2018-08-24 13:56:25
【问题描述】:

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

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

在 android 设备中,它在定位服务启动时工作。当定位服务关闭时,它不起作用。在 iOS 设备中,这两种情况都不起作用。需要帮助!!

import { Geolocation } from '@ionic-native/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();
}

【问题讨论】:

    标签: javascript ios ionic-framework ionic-native


    【解决方案1】:

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

    从 iOS 10 开始,必须在 info.plist 中添加 NSLocationWhenInUseUsageDescription 条目。

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

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

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

    示例:cordova 插件添加 cordova-plugin-geolocation --variable GEOLOCATION_USAGE_DESCRIPTION="您的使用信息"

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

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

    cordova plugin add cordova-plugin-geolocation --variable GEOLOCATION_USAGE_DESCRIPTION="my_project 想使用你的位置"

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-11-07
        • 2018-03-07
        • 2021-10-31
        • 2018-09-27
        • 2018-08-04
        • 1970-01-01
        • 1970-01-01
        • 2011-12-23
        相关资源
        最近更新 更多