public async void Add3DMapModel() { BasicGeoposition cityPosition = new BasicGeoposition() { Latitude = 55.6512013566365, Longitude = 37.6681702130651 }; Geopoint cityCenter = new Geopoint(cityPosition); var mugStreamReference = RandomAccessStreamReference.CreateFromUri (new Uri("ms-appx:///Assets/mug.3mf")); var myModel = await MapModel3D.CreateFrom3MFAsync(mugStreamReference, MapModel3DShadingOption.Smooth); MapControl1.Layers.Add(new MapElementsLayer { ZIndex = 1, MapElements = new List <MapElement> { new MapElement3D { Location = cityCenter, Model = myModel, }, }, }); }
private async void mapElement3DAddButton_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e) { // Compensate for 3D Model's local coordinate system and scale const float AltitudeOffset = 45.0f; const float HeadingOffset = -90.0f; const float ScaleOffset = 0.1f; MapModel3D model = await MapModel3D.CreateFrom3MFAsync(mapModelStreamReference, MapModel3DShadingOption.Smooth); if (model != null) { var center = new BasicGeoposition() { Latitude = myMap.Center.Position.Latitude, Longitude = myMap.Center.Position.Longitude, Altitude = AltitudeOffset, }; // MapElement3D scales with respect to the perspective projection of the 3D camera MapElement3D mapElement3D = new MapElement3D(); mapElement3D.Location = new Geopoint(center, AltitudeReferenceSystem.Terrain); mapElement3D.Model = model; mapElement3D.Heading = HeadingOffset + 180; mapElement3D.Scale = new Vector3(ScaleOffset, ScaleOffset, ScaleOffset); myMap.MapElements.Add(mapElement3D); } }
private async Task <bool> LoadFromUriAsyncIfNeeded(string uri) { if (!Has(uri)) { var model = await MapModel3D.CreateFrom3MFAsync( RandomAccessStreamReference.CreateFromUri(new Uri(uri)), MapModel3DShadingOption.Smooth); if (model == null) { throw new ArgumentException("Cannot load " + uri); } this.cache.Add(uri, model); } return(true); }
private async void LoadFromFileAsync() { var modelOpenPicker = new FileOpenPicker { SuggestedStartLocation = PickerLocationId.DocumentsLibrary, ViewMode = PickerViewMode.Thumbnail, }; modelOpenPicker.FileTypeFilter.Add(".3mf"); StorageFile file3MF = await modelOpenPicker.PickSingleFileAsync(); if (file3MF != null) { // Import the 3D model w/ smooth shading var selectedCar = await MapModel3D.CreateFrom3MFAsync( RandomAccessStreamReference.CreateFromFile(file3MF), MapModel3DShadingOption.Smooth); } }
public async void add3D() { var map3dSphereStreamReference = RandomAccessStreamReference.CreateFromUri (new Uri("ms-appx:///Assets/mug.3mf")); var myModel = await MapModel3D.CreateFrom3MFAsync(map3dSphereStreamReference, MapModel3DShadingOption.Smooth); var my3DElement = new MapElement3D(); double centerLatitude = MapControl1.Center.Position.Latitude; double centerLongitude = MapControl1.Center.Position.Longitude; BasicGeoposition cityPosition = new BasicGeoposition() { Latitude = 55.6509863734914, Longitude = 37.6680877307923, Altitude = 10 }; Geopoint cityCenter = new Geopoint(cityPosition); my3DElement.Location = cityCenter; my3DElement.Model = myModel; MapControl1.MapElements.Add(my3DElement); }