如何显示仅连接2个点的折线?

时间:2018-12-01 11:21:20

标签: ios swift google-maps google-polyline

我正在使用iOS Google Maps API显示地图。我想在特定的经度处添加一条线,以便用户可以知道该经度在哪里。

这是我尝试过的:

let path = GMSMutablePath()
path.add(CLLocationCoordinate2D(latitude: -90, longitude: -122))
path.add(CLLocationCoordinate2D(latitude: 90, longitude: -122))
polyline = GMSPolyline(path: path)
polyline.geodesic = true
polyline.strokeColor = .red
polyline.strokeWidth = 20 // I have set this to a big number to guarantee that my poor eyesight can see the line
polyline.map = mapView

我什么地方都看不到线!

作为对照实验,我复制了从tutorial绘制矩形的代码,并将其粘贴在上面的代码之后:

let rect = GMSMutablePath()
rect.add(CLLocationCoordinate2D(latitude: 37.36, longitude: -122.0))
rect.add(CLLocationCoordinate2D(latitude: 37.45, longitude: -122.0))
rect.add(CLLocationCoordinate2D(latitude: 37.45, longitude: -122.2))
rect.add(CLLocationCoordinate2D(latitude: 37.36, longitude: -122.2))

// Create the polygon, and assign it to the map.
let polygon = GMSPolygon(path: rect)
polygon.fillColor = UIColor(red: 0.25, green: 0, blue: 0, alpha: 0.2);
polygon.strokeColor = .black
polygon.strokeWidth = 2
polygon.map = mapView

它显示矩形:

enter image description here

由于我绘制线条的代码位于绘制矩形的代码的紧上方,因此我的代码也应已执行。它应该画一条线接触矩形,从北极延伸到南极。但是为什么没有这样的线呢?

1 个答案:

答案 0 :(得分:1)

问题在于,您的两点不仅是两个任意点,而且它们之间也只有一条最短的线。

无论X的值如何,点(90,X)和(-90,X)都是北极和南极,并且有无穷的线连接它们。我建议在其他两个点之间在赤道(0,X)上添加该点。

  

我在北极和南极之间的赤道上添加了一个点,现在它只在赤道上画了一条线。

我无法解释。好像是个错误。尝试在极点附近的值,例如89-8989.999-89.999