swift使用谷歌地图实现定位
来源:互联网 发布:js判断质数的算法 编辑:程序博客网 时间:2024/06/06 07:34
swift使用谷歌地图实现定位
- 在国内app中虽然使用Google map的比较少,但在一些应用中需要获取国外的地址之类的往往就需要使用到
谷歌地图,例如携程旅行中就有用到。下面主要是介绍使用谷歌地图定位的用法,具体的方法可以参考这里
下面的方法也是参考这篇文章来写的,只是就里面的一些代码的swift版本的原因做的一些就自己的swift版本
的修改,下面使用的是swift2.3。
首先要实现定位的功能之前要先定义如下属性:
var mapView : GMSMapView!var locationManager = CLLocationManager()var didFindMyLocation = false //只是用来做一个标记
然后再ViewDidLoad()中:
mapView = GMSMapView() //初始化地图,注意这一步非常的重要locationManager.desiredAccuracy = KCLLocationAccuracyHundredMeters //定位精度locationManager.destanceFilter = 50 //指定最小距离更新locationManager.delegate = self //遵循CLLocationManagerDelegate代理locationManager.requestWhenInUseAutherization()//设置监听来监听位置的变化mapView.addObserver(self, forKeyPath:"myLocation", options:NSKeyValueObservingOptions.New, context:nil)
代理方法
//谷歌地图开始定位func locationManager(manager:CLLocationManager!, didChangeAutherizationStatus status:CLAuthorizationStatus){ if status == CLAuthorizationStatus.AuthorizaedWhenInUse{ self.mapView.myLocationEnabled = true //开始定位 }}//监听处理位置坐标更新Override func observerValueForKeyPath(keyPath:String?, ofObject object:AnyObject?,change:[String:AnyObject]?, Context:UnSafeMutablePointer<Void>){ if !didFindMyLocation{ let myLocation:CLLocation = Change![NSKeyValueChangeNewKey] as! CLLocation self.mapView.camera = GMSCameraPosition.cameraWithTarget(myLocation.coordinate, zoom:10.0) self.mapView.settings.myLocationButton = true didFindMyLocation = true print("latitude-->\(myLocation.coordinate.latitude) longitude-->\(myLocation.coordinate.longitude)") } self.mapView.removeObserver(self, forKeyPath:"myLocation") //最后要记住一定要移除观察者,不然当程序返回上一个页面时会闪退}
1 0
- swift使用谷歌地图实现定位
- swift地图定位(十五)使用MKUserTrackingBarButtonItem
- swift地图定位(九)github-LocationManager的使用
- swift地图定位(十一)MapKit初使用
- swift地图定位(十二)大头针的基本使用
- swift地图定位(十四)使用 MKAnnotationView自定义大头针视图
- swift地图定位(十七)使用系统APP导航
- swift 地图定位(一)
- swift 地图定位(三)
- swift 地图定位(四)
- 使用百度地图api实现定位功能。
- 使用百度地图sdk实现定位功能
- 使用百度地图实现拖动定位、搜索定位
- Android 使用高德地图简单实现地图定位
- gps、基站、wifi 实现谷歌地图定位
- swift地图定位(二十)百度地图的使用(POI)
- javaweb中使用百度、谷歌地图进行定位
- javaweb中使用百度、谷歌地图进行定位
- Cassini(卡西尼)投影
- 非负矩阵分解
- 折线与平面问题
- 安卓-使用WindowManager实现类似Toast效果
- 隐式语义分析
- swift使用谷歌地图实现定位
- 夕拾算法进阶篇:7)组合的输出(dfs)
- 数组中的逆序对(归并排序)
- HDU2050 折线分割平面
- 67. Add Binary \ 168. Excel Sheet Column Title
- 相机位姿估计3:根据两幅图像的位姿估计结果求某点的世界坐标_0
- javascript基础回顾
- C++基础语法
- Matlab 版本对照