Xamarin形式 - 获取地图
问题描述:
我的问题是非常简单的3D效果,但我不能够找到任何东西,也许我没有用的好的关键字..Xamarin形式 - 获取地图
我在制作应用程序时,我想知道是否可以制作“Pokemon Go”或“Waze”等地图?此外,我想知道是否可以像Waze的开关一样进行切换?当您取消缩放时,它会回到2D地图视图。
感谢您的任何帮助或信息!
答
由于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上的文档。
对于交换机,您可以订阅事件以删除或添加相机在达到特定阈值时的角度。
我认为开始的最佳位置是https://developer.xamarin.com/guides/xamarin-forms/user-interface/map/,或者如果您只是想使用waze,请尝试查看waze API https://www.waze.com/about/dev –