Xamarin形式 - 获取地图

问题描述:

我的问题是非常简单的3D效果,但我不能够找到任何东西,也许我没有用的好的关键字..Xamarin形式 - 获取地图

我在制作应用程序时,我想知道是否可以制作“Pokemon Go”或“Waze”等地图?此外,我想知道是否可以像Waze的开关一样进行切换?当您取消缩放时,它会回到2D地图视图。

感谢您的任何帮助或信息!

+0

我认为开始的最佳位置是https://developer.xamarin.com/guides/xamarin-forms/user-interface/map/,或者如果您只是想使用waze,请尝试查看waze API https://www.waze.com/about/dev –

由于Forms不公开相机API,因此您将不得不创建自定义的Map渲染器来实现此3D外观。这通过将相机连接到地图视图来工作。下面的例子应该完成这项工作。你将不得不使用确切的设置来实现你需要的外观。

在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); 

在Android

安装一个摄像头GoogleMap这样的:

// 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 

欲了解更多信息visit the Android docs on camera position

在UWP

可以使用DesiredPitch属性来实现相似的外观。请参阅configuring a map上的文档。

对于交换机,您可以订阅事件以删除或添加相机在达到特定阈值时的角度。

+0

谢谢你的答案,有趣,因为我没有从哪里开始。你认为这样的解决方案也可以与UWP一起使用吗? – Emixam23

+0

我已经更新了UWP的答案。如果有帮助请接受答案。 –

+0

让我尝试一次在2周内回到我的国家,这样我就能工作,我的笔记本电脑坏了...谢谢! – Emixam23