2017-07-03 81 views
0

我一直在努力地試圖借鑑谷歌地圖虛線圓圈,但找不到任何幫助...虛線圓圈:iOS的

我一直尋找在互聯網字面上天找到借鑑的GoogleMaps虛線圓圈,可惜不是畫一個普通的圓形之外的一些解決方案是在回答我所得到的每一次..

這裏就是我所做的:

map with circle

代碼上面是:

import UIKit 
import GoogleMaps 
import GooglePlaces 

class ViewController: UIViewController 
{ 
    @IBOutlet weak var gmsMapView: GMSMapView! 

    override func viewDidLoad() 
    { 
     super.viewDidLoad() 

     gmsMapView.isMyLocationEnabled = true 
     gmsMapView.settings.myLocationButton = true 
     gmsMapView.animate(toZoom: 10.0) 
     gmsMapView.animate(toLocation: CLLocationCoordinate2D(latitude: 40.709677, longitude: -74.011088)) 
     let circleCenter = CLLocationCoordinate2D(latitude: 40.709677, longitude: -74.011088) 
     let circle = GMSCircle(position: circleCenter, radius: 5000) 
     circle.strokeWidth = 2 
     circle.strokeColor = UIColor.blue 
     circle.map = gmsMapView 
    } 

    override func didReceiveMemoryWarning(){ 
     super.didReceiveMemoryWarning() 
    } 
} 

這是需要什麼:

enter image description here

回答

1

隨着GMSCircle其不可能的,你必須提請基於折線在一個圓上。

使用GMSGeometryOffset,您可以爲您的位置生成偏移量。 360/6 = 60表示效率較低的細節。

let path = GMSMutablePath() 

for i in 0...60 { 
    let offsetLocation = GMSGeometryOffset(location.coordinate, circleRadius, CLLocationDirection(i*6)) 
    path.add(offsetLocation) 
} 
let length: [NSNumber] = [10, 10] 
let circle = GMSPolyline(path: path) 
let styles = [GMSStrokeStyle.solidColor(.clear), GMSStrokeStyle.solidColor(.red)] 

circle.spans = GMSStyleSpans(circle.path!, styles, length, GMSLengthKind.rhumb) 
circle.strokeWidth = 1.0 
circle.map = mapView 
+0

很不錯... 真棒.. !!它做了這份工作非常感謝你..我實際上失去了所有的希望.. –

+0

我們可以讓他們在圈.. ??我的意思是這些破折號.. –