MKTileOverlay - добавление в пакет плиток

Добавление наложения с мозаичной картой должно быть простым. У меня большая проблема. Они не показывают.

У меня есть плитки карты центра Байё в 15 16 и 17 увеличении масштаба в папке baymap. Я сунул папку в проект.

вот код

  import UIKit  
  import MapKit

  class ViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate {

    @IBOutlet weak var mapView: MKMapView!

    let locationManager = CLLocationManager()

    var latitude: CLLocationDegrees = 0.0
    var longitude: CLLocationDegrees = 0.0

    var cnt: Int = 0


    override func viewDidLoad() {
      super.viewDidLoad()

      self.mapView.delegate = self

      self.mapView.mapType = MKMapType.Standard

      //Map centre
      let centre = CLLocationCoordinate2D(latitude: 49.275,
        longitude: -0.7028)

      //Declare span of map
      let span = MKCoordinateSpan(latitudeDelta: 0.01,
        longitudeDelta: 0.01)

      //Set region of the map
      let region = MKCoordinateRegion(center: centre, span: span)
      self.mapView.setRegion(region, animated: false)
      self.mapView.regionThatFits(region)



      //Get the URL template to the map tiles
      let baseURL = NSBundle.mainBundle().bundleURL.absoluteString

      let urlTemplate = baseURL.stringByAppendingString("baymap/{z}/{x}/{y}.png/")
      print(urlTemplate)

      let carte_indice = MKTileOverlay(URLTemplate:urlTemplate)


      carte_indice.geometryFlipped = true

      carte_indice.canReplaceMapContent = false


  self.mapView.addOverlay(carte_indice)



}



override func didReceiveMemoryWarning() {
  super.didReceiveMemoryWarning()
  // Dispose of any resources that can be recreated.
}

func mapView(mapView: MKMapView!, rendererForOverlay overlay: MKOverlay!) -> MKOverlayRenderer!
{
  print("call overlay")
  if overlay is MKTileOverlay
  {
print("is MKTileoverlay")
    var renderer = MKTileOverlayRenderer(overlay:overlay)

    renderer.alpha = 0.8

    return renderer
  }
  return nil
}
}

Я отредактировал вопрос, добавив в печать "call overlay" и "is MKTileoverlay". Они оба печатают в консоли.

Яблочная карта Байе хорошо видна, но без наложения.

В консоли я получаю десятки таких ошибок, которые относятся к плиткам, не входящим в комплект.

: Ошибка загрузки файла URL:/// Пользователи / colinmcgarry / Библиотека / Разработчик /CoreSimulator/Devices/5A9A20A4-9C3F-4A65-8823-9721463FF985/data/Containers/Bundle/ Приложение /D2C87A46-E848-4C0D-9B05-30E731EC0verF/Tile.app/baymap/17/65283/86214.png/: Error Domain=NSURLErrorDomain Code=-1100 "Запрошенный URL-адрес не найден на этом сервере."

Кто-нибудь может увидеть, что я делаю не так. Есть ли хорошее руководство по наложению плиток в Swift?

Спасибо

1 ответ

Нашел решение. carte_indice.geometryFlipped = true

должно быть ложным.

зависит от системы плитки.

Другие вопросы по тегам