在执行过程中,图像在整个map中重复。我也可以指定一个UIImage来代替URLTemplate?
我已经在某个特定位置添加了覆盖图像。就在现在的位置。
谢谢
这是我的代码:
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.Satellite
//Map centre
let centre = CLLocationCoordinate2D(latitude: 40.8325769,
longitude: 14.318884400000002)
//Declare span of map
let span = MKCoordinateSpan(latitudeDelta: 0.05,
longitudeDelta: 0.05)
//Set region of the map
let region = MKCoordinateRegion(center: centre, span: span)
self.mapView.setRegion(region, animated: false)
self.mapView.regionThatFits(region)
var template = "http://tile.openstreetmap.org/0/0/0.png"
let carte_indice = MKTileOverlay(URLTemplate:template)
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!
{
if overlay is MKTileOverlay
{
var renderer = MKTileOverlayRenderer(overlay:overlay)
renderer.alpha = 0.8
return renderer
}
return nil
}
}发布于 2015-08-05 20:20:05
我认为模板url必须是:
var template = "http://tile.openstreetmap.org/{z}/{x}/{y}.png"致以问候。
发布于 2015-08-05 20:22:38
我不太明白你想要用这些磁贴来做什么。
不过,您可以通过以下方式获取本地资源的NSURL:
if let tileUrl = NSBundle.mainBundle().URLForResource(ZZZ, withExtension: XXX, subdirectory: YYY)或者,如果您需要为不同的X/Y/Z/scale动态提供平铺,您可以子类MKTileOverlay并覆盖loadTileAtPath方法。
https://stackoverflow.com/questions/31832036
复制相似问题