uniapp 定位 android ios

uniapp 定位 android ios

			<view class="cen-style">
				<view class="cens-title">详细地址:</view>
				<view class="fbc">
					<view style="width: 400rpx;"><u-input v-model="address" type="text" :border="false" placeholder="街道,楼牌号等" /></view>
					<u-icon name="map" size="40" @click="getaddress"></u-icon>
				</view>
			</view>
//判断手机是否开启定位功能
checkOpenGPSService() {
			let system = uni.getSystemInfoSync(); // 获取系统信息
    //安卓	android
			if (system.platform === 'android') {
				// 判断平台
				var context = plus.android.importClass('android.content.Context');
				var locationManager = plus.android.importClass('android.location.LocationManager');
				var main = plus.android.runtimeMainActivity();
				var mainSvr = main.getSystemService(context.LOCATION_SERVICE);
				if (!mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER)) {
					uni.showModal({
						title: '提示',
						content: '请打开定位服务功能',
						showCancel: false, // 不显示取消按钮
						success() {
							if (!mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER)) {
								var Intent = plus.android.importClass('android.content.Intent');
								var Settings = plus.android.importClass('android.provider.Settings');
								var intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
								main.startActivity(intent); // 打开系统设置GPS服务页面
							} else {
								console.log('GPS功能已开启');
							}
						}
					});
				}
			} else if (system.platform === 'ios') {    //	ios 系统
				var cllocationManger = plus.ios.import('CLLocationManager');
				var enable = cllocationManger.locationServicesEnabled();
				var status = cllocationManger.authorizationStatus();
				plus.ios.deleteObject(cllocationManger);
				if (enable && status != 2) {
					console.log('手机系统的定位已经打开');
				} else {
					console.log('手机系统的定位没有打开');
					uni.showModal({
						title: '提示',
						content: '请打开定位服务功能',
						showCancel: false, // 不显示取消按钮
						success() {
							var UIApplication = plus.ios.import('UIApplication');
							var application2 = UIApplication.sharedApplication();
							var NSURL2 = plus.ios.import('NSURL');
							// var setting2 = NSURL2.URLWithString("prefs:root=LOCATION_SERVICES");
							// var setting2 = NSURL2.URLWithString("App-Prefs:root=LOCATION_SERVICES");
							// var setting2 = NSURL2.URLWithString("app-settings");
							var setting2 = NSURL2.URLWithString('App-Prefs:root=Privacy&path=LOCATION');
							// var setting2 = NSURL2.URLWithString("App-Prefs:root=Privacy&path=LOCATION_SERVICES");
							application2.openURL(setting2);
							plus.ios.deleteObject(setting2);
							plus.ios.deleteObject(NSURL2);
							plus.ios.deleteObject(application2);
						}
					});
				}
			}
		},
            
            
getaddress() {
    		//判断手机是否开启定位功能
			this.checkOpenGPSService();
			let that = this;
			uni.getLocation({
				type: 'wgs84',
				geocode: true,
				success: function(res) {
					that.province = res.address.province;
					that.city = res.address.city;
					that.area = res.address.district;
					that.address = res.address.province + res.address.city + res.address.district + res.address.street + res.address.streetNum + res.address.poiName;
					console.log(res.address.city);
				}
			});
		},
            

uniapp 定位 android ios_第1张图片


				
				
					
						
						{{ covers[0].title }}
					
					
				
				



你可能感兴趣的:(ios,android,uni-app,定位)