快速在地图上添加 MKTileOverlay
Posted
技术标签:
【中文标题】快速在地图上添加 MKTileOverlay【英文标题】:Add MKTileOverlay on map in swift 【发布时间】:2015-08-05 12:05:51 【问题描述】:在执行期间,图像在整个地图中重复。 我还可以指定一个 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
【问题讨论】:
【参考方案1】:我认为模板url必须是:
var template = "http://tile.openstreetmap.org/z/x/y.png"
问候。
【讨论】:
【参考方案2】:不太明白你想用这些图块实现什么。
虽然,您可以通过以下方式获取本地资源的 NSURL:
if let tileUrl = NSBundle.mainBundle().URLForResource(ZZZ, withExtension: XXX, subdirectory: YYY)
或者如果您需要为不同的 X/Y/Z/比例动态提供图块,您可以继承 MKTileOverlay 并覆盖 loadTileAtPath
方法。
【讨论】:
我必须在地图上添加一张图片。我有一个 UIIMage 对象,我必须在 MKTileOverlay 中对其进行转换。 某个特定位置的叠加图像?还是带有图片的图钉之类的东西? 某个特定位置的叠加图像。正好在当前位置以上是关于快速在地图上添加 MKTileOverlay的主要内容,如果未能解决你的问题,请参考以下文章