             
             if let error = error {
                 
-                println("反编码失败")
+                println("出发地反编码失败")
+                return
+            }
+            
+            if sourcemarks?.count == 0 {
+                
+                println("没有查询到出发地")
                 return
             }
             

        
        mapLauncher                     = ASMapLauncher()
        mapView.delegate                = self                                    // 地图代理
        request.transportType           = MKDirectionsTransportType.Automobile    // 路径类型汽车
        request.requestsAlternateRoutes = false                                   // 设置是否搜索多条线路
        
        // 反编码出CLPlacemark对象

                
                if let error = error {
                    
                    println("目的地反编码失败")
                    return
                }
                
                if destinationmarks?.count == 0 {
                    
                    println("没有查询到目的地")
                    return
                }
                
                // 地理位置信息
                let sourcemark      = sourcemarks[0] as! CLPlacemark
                let destinationmark = destinationmarks[0] as! CLPlacemark
                
                // 地图区域
                let currentLocationSpan     = MKCoordinateSpanMake(0.05, 0.05)
                let currentRegion           = MKCoordinateRegionMake(destinationmark.location.coordinate, currentLocationSpan)
                self.mapView.setRegion(currentRegion, animated: false)
                
                // 回调
                callback(sourceMark: sourcemark, destinationMark: destinationmark)
            })
        })
    }
    
    /**
     * 根据地理信息增加地图标注
     * @param sourceMark 出发地位置信息
     * @param destinationMark 目的地位置信息
