我有这些方法可以在MKMapView之间添加路由CLLocation
。我都有有效的pickUpDistanceLocation和dropOffDistanceLocation
func addRoutesOverLayForMapView(){
var source:MKMapItem?
var destination:MKMapItem?
println("\(pickUpDistanceLocation)")
println("\(dropOffDistanceLocation)")
//i also tested with these locations
//let sourcelocation = CLLocation(latitude: 40.7141667, longitude: -74.0063889)
//let destinationLocation = CLLocation(latitude: 38.89, longitude: 77.03)
CLGeocoder().reverseGeocodeLocation(pickUpDistanceLocation, completionHandler: {(placemarks,error)-> Void in
if (error != nil) {
println("Reverse geocoder failed with error" + error.localizedDescription)
return
}
if placemarks.count > 0 {
if let placemark: MKPlacemark = placemarks![0] as? MKPlacemark {
source = MKMapItem(placemark: placemark)
println("\(source)")
}
} else {
println("Problem with the data received from geocoder")
}
})
CLGeocoder().reverseGeocodeLocation(dropOffDistanceLocation, completionHandler: {(placemarks,error)-> Void in
if (error != nil) {
println("Reverse geocoder failed with error" + error.localizedDescription)
return
}
if placemarks.count > 0 {
if let placemark: MKPlacemark = placemarks![0] as? MKPlacemark {
destination = MKMapItem(placemark: placemark)
println("\(destination)")
}
} else {
println("Problem with the data received from geocoder")
}
})
let request:MKDirectionsRequest = MKDirectionsRequest()
request.setSource(source)
request.setDestination(destination)
request.transportType = MKDirectionsTransportType.Automobile
request.requestsAlternateRoutes = false
let directions = MKDirections(request: request)
directions.calculateDirectionsWithCompletionHandler ({
(response: MKDirectionsResponse?, error: NSError?) in
if error == nil {
self.showRoute(response!)
}
})
}
这是在地图中添加路线叠加层的方法
func showRoute(response:MKDirectionsResponse){
for route in response.routes as! [MKRoute]{
mapView.addOverlay(route.polyline, level: MKOverlayLevel.AboveRoads)
}
}
我收到此错误,因为响应返回错误:400
打印错误时显示为
可选(“操作无法完成。(NSURLErrorDomain错误-1011。)”)
实际上,源变量和目标变量都为nil。因此,我从server。如果收到错误响应,请尝试以下代码
func addRoutesOverLayForMapView(){
var source:MKMapItem?
var destination:MKMapItem?
var sourcePlacemark = MKPlacemark(coordinate: pickUpDistanceLocation!.coordinate, addressDictionary: nil)
source = MKMapItem(placemark: sourcePlacemark)
var desitnationPlacemark = MKPlacemark(coordinate: dropOffDistanceLocation!.coordinate, addressDictionary: nil)
destination = MKMapItem(placemark: desitnationPlacemark)
let request:MKDirectionsRequest = MKDirectionsRequest()
request.setSource(source)
request.setDestination(destination)
request.transportType = MKDirectionsTransportType.Walking
let directions = MKDirections(request: request)
directions.calculateDirectionsWithCompletionHandler ({
(response: MKDirectionsResponse?, error: NSError?) in
if error == nil {
self.showRoute(response!)
}
else{
println("trace the error \(error?.localizedDescription)")
}
})
}
func showRoute(response:MKDirectionsResponse){
for route in response.routes as! [MKRoute]{
mapView.addOverlay(route.polyline, level: MKOverlayLevel.AboveRoads)
var routeSeconds = route.expectedTravelTime
let routeDistance = route.distance
println("distance between two points is \(routeSeconds) and \(routeDistance)")
}
}
而且您应该实现此委托方法,不要忘记设置mapview委托
func mapView(mapView: MKMapView!, rendererForOverlay overlay: MKOverlay!) -> MKOverlayRenderer! {
if overlay is MKPolyline {
var polylineRenderer = MKPolylineRenderer(overlay: overlay)
polylineRenderer.lineDashPattern = [14,10,6,10,4,10]
polylineRenderer.strokeColor = UIColor(red: 0.012, green: 0.012, blue: 0.012, alpha: 1.00)
polylineRenderer.lineWidth = 2.5
return polylineRenderer
}
return nil
}
问题内容: 我正在开发一个应用程序,用户可以使用它输入目的地,并且从他当前位置到目的地的路线将显示在Google地图上。我在线搜索,发现许多教程都在其中使用google map api javascript v3。我还阅读了官方文件 https://developers.google.com/maps/articles/android_v3, https://developers.google.c
问题内容: 我的半径div带有5px虚线边框,但边框在中无法正确显示。它在IE和chrome中显示良好。 问题答案: 您的边界在Firefox上运行,请参见DEMO您可以删除半径来检查它。当您尝试用虚线边框画圈时,FireFox出现错误。 这是一个已知的错误。您的选择是: 如果只是为了画圆,请用绘制,例如此处所示 使用SVG(可能是内联),它支持多种描边路径的方式 制作图片PNG
问题内容: 我正在学习如何使用新的Swift语言(只有Swift,没有Objective-C)。为此,我想用地图()做一个简单的视图。我想查找并更新用户的位置(例如在Apple Map应用程序中)。 我试过了,但是什么也没发生: 请你帮助我好吗? 问题答案: 您必须重写(CLLocationManagerDelegate的一部分)才能在位置管理器检索当前位置时得到通知: 注意:如果目标是iOS 8
我已成功将图像上载到我的上载目录。这就是结构 公共网页- 现在,我在DB记录中存储的路径是: ./上传/上传图片。gif 但当我这么做的时候: 它仍然没有显示任何东西。图像路径内容为/上传/上传图片。gif。 我正在尝试将图像加载到位于以下位置的视图中: 公共网页- 我会非常感激你的帮助。
我在StackOverflow上看到了一些类似的事件。然而,这些似乎都不适用于我的情况。我遇到的问题是,我的RecyclerView正在工作,但没有显示任何内容。我已经运行了多个测试,试图找出它不工作的原因,但所有测试都支持它正常工作的事实。 getItemCount中的日志返回3,这是正确的数字。我只是不明白为什么它没有显示。我回头看了我在以前的活动中做的回收器视图,它们都在一定程度上匹配(其他
我知道同样的问题已经被问过很多次了,但是我似乎真的没有在我的代码中发现阻碍JPanel类型的对象显示在JFrame中的错误。下面是扩展JFrame的类的构造函数: 当我运行main方法(这里没有显示)时,它只显示框架和按钮。如果有人能在这方面给点提示,我会非常感谢的。