2017-05-08 104 views
0

我的問題是非常簡單的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 –

回答

1

由於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