美文网首页
Swift 地图Map3D 截图 周边检索

Swift 地图Map3D 截图 周边检索

作者: 越天高 | 来源:发表于2020-05-20 11:08 被阅读0次
  1. 3D视角
func camera()
    {
        //center
        let center = mapView.centerCoordinate
        
        //创建3D视角对象
        //参数1 : 从哪个位置看
        //参数2 : 从哪个方向看
        //参数3 : 眼睛的高度
        
        
        let camera :MKMapCamera = MKMapCamera(lookingAtCenter: center, fromEyeCoordinate: CLLocationCoordinate2DMake(center.latitude, center.longitude + 0.1), eyeAltitude: 500)
        
        mapView.setCamera(camera, animated: true)
        
    }
  1. 截图
 //截图
    func snapShot()
    {
        //限制地图 截图参数
        let  options : MKMapSnapshotter.Options = MKMapSnapshotter.Options()
        //截图区域
        options.region = mapView.region
        //截图的的地图类型
        options.mapType = .satellite
        //输出图片的大小
        options.size = CGSize(width: 1000, height: 1000)
        
        //创建截图对象
        let snapShotter = MKMapSnapshotter(options: options)
        
        //开始截图
        snapShotter.start
        { (shot, error) in
            if (error == nil)
            {
                //获取image对象,z装成NSData对象
                let  image = shot?.image
                
                let data = image?.pngData() as! NSData
                
                let filePath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).last! as NSString
                let docFile = filePath.appendingPathComponent("image.png")
                
                let isSuccess = data.write(toFile: docFile, atomically: true)
                if isSuccess
                {
                    print("储存成功")
                }
                else
                {
                    print("失败")
                }
                
            }
            
        }
}

//检索

//搜索
    func search()
    {
        //创建一个检索
        
        //1.创建一个请求
        let requset : MKLocalSearch.Request = MKLocalSearch.Request()
        //1.1创建一个搜索的关键字
        requset.naturalLanguageQuery = "饭店"
        //1.2创建搜索的区域
        requset.region = mapView.region
        
        //2.根据请求创建一个检索的对象
        let search : MKLocalSearch = MKLocalSearch(request: requset)
        
        //3.使用检索对像,进行检索
        search.start
        { (localResponse, error) in
            if(error == nil)
            {
                // 响应对象 MKLocalSearchResponse
                //  里面存储着检索出来的"地图项"
                // 每个地图项 中 有包含位置信息, 商家信息等
                let items = localResponse?.mapItems
                for item in items!
                {
                    print(item.name)
                }
            }
        }
        
        
        
    }

相关文章

网友评论

      本文标题:Swift 地图Map3D 截图 周边检索

      本文链接:https://www.haomeiwen.com/subject/yuqgohtx.html