2017-11-12 1 views
1

私は現在、場所を使ってiOSアプリケーションを開発中です。 しかし、MapKitのデフォルトマップではなく、ユーザーの位置を表示するためのカスタマイズされたマップを用意したいと思います。Swiftのカスタムマップ

例えば、このようなマップ:

Snapchat map

それはスウィフト4.0でこのような何かを達成することは可能ですか?あなたはMKTileOverlayを使用する必要が

どうもありがとう

答えて

1

- ドキュメントはhereです...

それが言うように:

あなたがあなた自身のタイルベースのコンテンツを表現するためにタイルオーバーレイオブジェクトを使用し

を を開き、そのコンテンツの表示をマップビューで調整します。 のタイルは、基礎となる地図コンテンツを補完することができます。は、 を完全にに置き換えます。

(私の強調)

-1

これは、マップがあなたのライブの現在位置を表示させることができる方法です。

全コード:あなたも権限があるInfo.plistファイル に権限を追加することが必要であること

import UIKit 
import MapKit 


//import CoreLocation 

class ViewController: UIViewController, UIScrollViewDelegate ,CLLocationManagerDelegate, MKMapViewDelegate { 

    @IBOutlet var map: MKMapView! 

    var locationManager = CLLocationManager() 

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

     locationManager.delegate = self 
     locationManager.desiredAccuracy = kCLLocationAccuracyBest 
     locationManager.requestWhenInUseAuthorization() 
     locationManager.startUpdatingLocation() 

    } 


    func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { 

     let userLocation: CLLocation = locations[0] 

     let latitude = userLocation.coordinate.latitude 

     let longitude = userLocation.coordinate.longitude 

     let latDelta: CLLocationDegrees = 0.05 

     let lonDelta: CLLocationDegrees = 0.05 

     let span = MKCoordinateSpan(latitudeDelta: latDelta, longitudeDelta: lonDelta) 

     let location = CLLocationCoordinate2D(latitude: latitude, longitude: longitude) 

     let region = MKCoordinateRegion(center: location, span: span) 

     self.map.setRegion(region, animated: false) 

     let annotation = MKPointAnnotation() 
     annotation.coordinate = location 
     annotation.title = "My current Location" 

     map.addAnnotation(annotation) 



    } 


} 

注:

プライバシー - 場所使用時には使用説明

プライバシー - 場所常に使用説明

-1

固定位置とピンをマップビューに表示する方法は次のとおりです

import UIKit 
import MapKit 

class ViewController: UIViewController { 
    @IBOutlet weak var myMap: MKMapView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     let latitude : CLLocationDegrees = 86.44999 
     let longitude : CLLocationDegrees = 54.39 
     let latitudeDelta : CLLocationAccuracy = 0.05 
     let longituteDelta : CLLocationAccuracy = 0.05 

     let myLocation = CLLocationCoordinate2D(latitude: latitude, longitude: longitude) 
     let mySpan = MKCoordinateSpanMake(latitudeDelta, longituteDelta) 
     let myRegion = MKCoordinateRegion(center: myLocation, span: mySpan) 

     myMap.setRegion(myRegion, animated: true) 

     let annotation = MKPointAnnotation() 
     annotation.coordinate = myLocation 
     myMap.addAnnotation(annotation) 

     } 
    } 
関連する問題