gpt4 book ai didi

ios - GMSMapView:以坐标为中心并缩小以显示用户位置

转载 作者:可可西里 更新时间:2023-11-01 06:07:22 25 4
gpt4 key购买 nike

我被卡住了。我希望有人能给我正确的输入!

我正在使用 GMSMapview 显示兴趣点 (GMSMarkers)。

目前我只是使用此代码(DEFAULT_ZOOM15.f)将 map 置于当前 POI 坐标的中心:

GMSCameraPosition *newPosition =
[GMSCameraPosition cameraWithLatitude:activePOI.coordinate.latitude
longitude:activePOI.coordinate.longitude
zoom:DEFAULT_ZOOM
bearing:0. //True north
viewingAngle:0.]; //Facing down

[self.mapView animateToCameraPosition:newPosition];

我尝试使用 GMSCoordinateBounds 来显示 POI 和用户位置,代码如下:

GMSCoordinateBounds *cb =
[[GMSCoordinateBounds alloc] initWithCoordinate:activePOI.coordinate
coordinate:user.coordinate];

[GMSCameraUpdate fitBounds:cb];

效果很好,但两个位置都显示在 map 的角上。

我需要在中心显示POI,但同时显示用户位置。

关于如何实现这一点有什么想法吗?

干杯。

最佳答案

要在中心显示 POI,在 map 边缘显示用户位置,您应该派生第三个位置点,反射(reflect)用户 llc 与 POI 另一侧 POI 的相对距离。

如果允许我们忽略地球的曲率,这是简单的矢量加法

loc3 = poiLoc + (poiLoc - userLoc) 
= 2*poiLoc - userLoc;

然后您的 map 矩形由 userLoc 和 loc3 定义。

关于ios - GMSMapView:以坐标为中心并缩小以显示用户位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24871493/

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