MKMapView(MapKit)-尝试缩小以查看整个地球

时间:2018-12-01 04:21:38

标签: swift mkmapview

问题的现有版本无效-需要Swift 4,Xcode 10解决方案:

我正在尝试将MKMapView缩小以在我的应用程序中显示整个地球。我可以缩小地图以查看整个世界的地图,而不是整个 globe 。 这是我所知道的: -必须是人造卫星,混合动力,人造天桥或混合天桥 必须启用-3D。 这是我尝试过的: -调整区域的跨度(无论我跨度多大,它都永远不会缩小到足以看到地球的范围) -调整相机的高度(无论我把相机调高多少,它都不会缩小到足以看到地球的范围) 我已经搜索过并且堆栈溢出,但是找不到任何有效的解决方案。我被简化为自己张贴这个问题,违反了我的潜伏原则,但我完全陷于困境。

以下是我在教程等中尝试过的一些代码(多次尝试已被注释掉):

import UIKit
import MapKit

class ViewController: UIViewController {

@IBOutlet weak var mapView: MKMapView!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from   a nib.

    mapView.mapType = .standard
    mapView.isPitchEnabled = true
//        mapView.showsBuildings = true // displays buildings

    let eiffelTowerCoordinates = CLLocationCoordinate2DMake(48.85815, 2.29452)
    mapView.region = MKCoordinateRegion(center: eiffelTowerCoordinates, latitudinalMeters: 1000, longitudinalMeters: 100)    // sets the visible region of the map

    // create a 3D Camera
    let mapCamera = MKMapCamera()
    mapCamera.centerCoordinate = eiffelTowerCoordinates
    mapCamera.pitch = 45
    mapCamera.altitude = 50000000 // example altitude
    mapCamera.heading = 45

    // set the camera property
    mapView.camera = mapCamera


//        var ausCenter = CLLocationCoordinate2D(latitude: -25.354917, longitude: 134.347407)
//        let camera = MKMapCamera(lookingAtCenter: ausCenter, fromDistance: 300, pitch: 10, heading: 0)
//        mapView.camera = camera

//        var ausCenter = CLLocationCoordinate2D(latitude: -25.354917, longitude: 134.347407)
//        var ausSpan = MKCoordinateSpan(latitudeDelta: 5, longitudeDelta: 5)
//        var region = MKCoordinateRegion(center: ausCenter, span: ausSpan)
//        mapView.setRegion(region, animated: true)


//        let camera = MKMapCamera()
//        camera.centerCoordinate = mapView.centerCoordinate
//        camera.pitch = 90.0
//        camera.altitude = 30000000
//        camera.heading = 0
//        mapView.setCamera(camera, animated: true)

//        var ausCenter = CLLocationCoordinate2D(latitude: -25.354917, longitude: 134.347407)
//
////        mapView.setCenter(ausCenter, animated: true)
//
//        let span = MKCoordinateSpan(latitudeDelta: 150, longitudeDelta: 150)
//        let region = MKCoordinateRegion(center: ausCenter, span: span)
//        mapView.setRegion(region, animated: true)
//
//        //add an annotation
//        let annotation = MKPointAnnotation()
//        annotation.coordinate = ausCenter

//        annotation.title = "Australia"
//        annotation.subtitle = "Details Forthcoming"
//        mapView.addAnnotation(annotation)
    }

}

0 个答案:

没有答案