Xamarin.forms Xamarin表单-获得地图的3D效果

Xamarin.forms Xamarin表单-获得地图的3D效果,xamarin.forms,maps,Xamarin.forms,Maps,我的问题很简单,但是我找不到关于的任何东西,也许我没有使用好的关键词 我正在制作一个应用程序,我想知道是否有可能有一个地图,比如口袋妖怪Go或Waze?此外,我想知道是否有可能像Waze一样进行切换?取消缩放时,它将返回到二维地图视图 感谢您提供的任何帮助或信息 您必须创建一个自定义地图渲染器来实现这一3D外观,因为表单不公开摄影机API。这是通过将摄影机附着到地图视图来实现的。下面的例子应该可以完成这项工作。您将必须使用精确的设置来实现所需的外观 在iOS上 可以将相机连接到MKMapView

我的问题很简单,但是我找不到关于的任何东西,也许我没有使用好的关键词

我正在制作一个应用程序,我想知道是否有可能有一个地图,比如口袋妖怪Go或Waze?此外,我想知道是否有可能像Waze一样进行切换?取消缩放时,它将返回到二维地图视图


感谢您提供的任何帮助或信息

您必须创建一个自定义地图渲染器来实现这一3D外观,因为表单不公开摄影机API。这是通过将摄影机附着到地图视图来实现的。下面的例子应该可以完成这项工作。您将必须使用精确的设置来实现所需的外观

在iOS上

可以将相机连接到MKMapView,如下所示:

// Create the camera
MKMapCamera camera = new MKMapCamera();
camera.Pitch = 80;
camera.Altitude = 100;
camera.Heading = 90;

// Attach the camera
map.SetCamera(camera, false);
// Create the camera
CameraPosition cameraPosition = new CameraPosition.Builder()
                                                  .Target(location)
                                                  .Tilt(45)
                                                  .Zoom(10)
                                                  .Bearing(0)
                                                  .Build();
// Convert to an update object
CameraUpdate cameraUpdate = CameraUpdateFactory.NewCameraPosition(cameraPosition);

// Attach the camera
map.MoveCamera(cameraUpdate); // map is of type GoogleMap
安卓上

将摄像头连接到Google地图,如下所示:

// Create the camera
MKMapCamera camera = new MKMapCamera();
camera.Pitch = 80;
camera.Altitude = 100;
camera.Heading = 90;

// Attach the camera
map.SetCamera(camera, false);
// Create the camera
CameraPosition cameraPosition = new CameraPosition.Builder()
                                                  .Target(location)
                                                  .Tilt(45)
                                                  .Zoom(10)
                                                  .Bearing(0)
                                                  .Build();
// Convert to an update object
CameraUpdate cameraUpdate = CameraUpdateFactory.NewCameraPosition(cameraPosition);

// Attach the camera
map.MoveCamera(cameraUpdate); // map is of type GoogleMap
更多信息

关于超宽带

您可以使用DesiredPitch属性获得类似的外观。请参阅上的文档


至于切换,您可以订阅事件,以便在摄影机到达特定树梢时移除或添加摄影机的角度。

我认为最好的开始位置是,或者如果您只是想使用waze,请尝试查看waze API谢谢您的回答,很有趣,因为我不知道从哪里开始。你认为这样的解决方案也适用于UWP吗?我已经更新了UWP的答案。如果有帮助,请接受答案。让我在两周后回到我的国家后再试一次,这样我就可以工作了,我的笔记本电脑坏了。。。感谢