我正在使用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
它显示矩形:
由于我绘制线条的代码位于绘制矩形的代码的紧上方,因此我的代码也应已执行。它应该画一条线接触矩形,从北极延伸到南极。但是为什么没有这样的线呢?
答案 0 :(得分:1)
问题在于,您的两点不仅是两个任意点,而且它们之间也只有一条最短的线。
无论X的值如何,点(90,X)和(-90,X)都是北极和南极,并且有无穷的线连接它们。我建议在其他两个点之间在赤道(0,X)上添加该点。
我在北极和南极之间的赤道上添加了一个点,现在它只在赤道上画了一条线。
我无法解释。好像是个错误。尝试在极点附近的值,例如89
和-89
或89.999
和-89.999
。