gpt4 book ai didi

ios - MapView 相机在 iOS Swift 中没有改变

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:29:56 24 4
gpt4 key购买 nike

对于我的问题,我将不胜感激,我正在创建一个名为 mapView 的 View ,并将其类更改为 GMSMapView。但是当我将 map 分配给这个 mapView 时,布局非常好,但相机默认设置为欧洲,这不会改变。

代码如下:

 @IBOutlet weak var mapView: GMSMapView!
var latitudes = [19.199782,19.19855,19.199179]
var longitudes = [72.8734634,72.872935, 72.874535]
var titles = ["Riviera","Alica","Senate"]
var subTitle = ["1","2","3"]
override func viewDidLoad() {
super.viewDidLoad()

let camera = GMSCameraPosition.camera(withLatitude: 19.20060, longitude: 72.8734462, zoom: 15.0)
let mapView1 = GMSMapView.map(withFrame: CGRect.zero, camera: camera)


let path = GMSMutablePath()


for i in 0...2
{
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude: latitudes[i], longitude: longitudes[i])
marker.title = titles[i]

marker.snippet = subTitle[i]
marker.map = mapView1
path.add(CLLocationCoordinate2D(latitude: latitudes[i], longitude: longitudes[i]))
}

let polyLine = GMSPolyline(path: path)

polyLine.map = mapView1


mapView = mapView1
mapView.camera = camera

}

代码的输出是: Output

当我添加要查看的 map 时,我得到了想要的 map

修改以上代码:而不是 mapView = mapView1 放查看= mapView1

期望的输出:Desired Output

所以请帮助我在屏幕的 mapView View 中获得所需的输出。谢谢!

最佳答案

GMSMapView 类具有以下功能:

animate(to:GMSCameraPosition)

所以在你的代码中,不要在你的 map View 上设置相机属性,而是这样做:

mapView.animate(to: camera)

希望这对您有所帮助!

编辑

在深入研究这段代码后,我相信您的 mapView1 是不必要的,并且会导致您的 socket 出现问题。尝试这样的事情:

override func viewDidLoad() {
super.viewDidLoad()

let camera = GMSCameraPosition.camera(withLatitude: 19.20060, longitude: 72.8734462, zoom: 15.0)
let path = GMSMutablePath()

for i in 0...2
{
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude: latitudes[i], longitude: longitudes[i])
marker.title = titles[i]

marker.snippet = subTitle[i]
marker.map = mapView
path.add(CLLocationCoordinate2D(latitude: latitudes[i], longitude: longitudes[i]))
}

let polyLine = GMSPolyline(path: path)
polyLine.strokeWidth = 2.0
polyLine.strokeColor = .black
polyLine.map = mapView

mapView.animate(to: camera)
}

附带说明一下,我还建议用一个字典对象数组替换您的四个数组,每个数组包含标题、副标题、纬度和经度,或类似的东西。然后更改您的 for 循环以适应

关于ios - MapView 相机在 iOS Swift 中没有改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49561382/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com