26

iOS用の新しいGoogleMapsSDKを使用しています

GMSMapView.centerから真の座標を取得できますか?これでCGPointの値が返されますが、これは実際の座標ではありません。

ありがとう、よろしく。

4

6 に答える 6

43

projectionマップビューのメソッドを使用して- (CLLocationCoordinate2D)coordinateForPoint:(CGPoint)point、マップ内のポイントを地質座標に変換します

CGPoint point = mapView.center;
CLLocationCoordinate2D coor = [mapView.projection coordinateForPoint:point];
于 2013-03-03T23:42:54.007 に答える
42

[yourMapView.camera target]Jingのソリューションの代わりに使用することをお勧めします。

JingのソリューションはiOS6で正常に機能しますが、iOS 7 / 7.1で問題が発生している可能性があるため、投影によって誤った座標が報告される場合があります(少し下向きのシフト)。マップの境界を確認しましたが、パディングが正しいことを確認しました。結果で[projection pointForCoordinate: coordinate]あり、[projection coordinateForPoint:point]互いに対照的である可能性があります。問題がどこにあるのかわかりません...

于 2014-03-31T21:31:26.093 に答える
15

これがでそれを行う方法です Swift 4

let coordinate = mapView.projection.coordinate(for: mapView.center)
于 2018-05-15T21:24:49.427 に答える
11

お探しmapView.camera.targetですか?これはCLLocationCoordinate2Dです。

于 2013-02-27T08:01:34.070 に答える
0

スウィフト4

let point = mapView.center
let coordinate = mapView.convert(point, toCoordinateFrom: mapView)
于 2020-10-08T05:17:37.980 に答える
0

ユーザーがマップとの対話を許可されている場合、おそらくより良い方法は、マップのdid-become-idleデリゲートメソッドを使用することです。ここでは、カメラを変更するたびに中心座標を取得できます。

func mapView(_ mapView: GMSMapView, idleAt position: GMSCameraPosition) {
    print(position.target)
}
于 2020-10-22T15:48:28.367 に答える