程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了将 pin 添加到 Mapsui 时出现异常(Xamarin Forms)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决将 pin 添加到 Mapsui 时出现异常(Xamarin Forms)?

开发过程中遇到将 pin 添加到 Mapsui 时出现异常(Xamarin Forms)的问题如何解决?下面主要结合日常开发的经验,给出你关于将 pin 添加到 Mapsui 时出现异常(Xamarin Forms)的解决方法建议,希望对你解决将 pin 添加到 Mapsui 时出现异常(Xamarin Forms)有所启发或帮助;

我正在尝试向我的 Xamarin Forms mapsui 控件添加图钉。

这是我的 Xaml

<mapsui:MapVIEw x:name="SELEctMapControl"
        VerticalOptions="FillAndExpand"
        HorizontalOptions="Fill"
        BACkgroundcolor="Gray" />

这是我的代码:

protected overrIDe voID OnAppearing()
        {
            base.onAppearing();

            var map = new Map
            {
                CRS = "epsg:3857",transformation = new Minimaltransformation()
            };

            var tileLayer = OpenStreetMap.CreateTileLayer();

            map.Layers.Add(tileLayer);
            map.Widgets.Add(new mapsui.Widgets.Scalebar.ScalebarWidget(map) { TextAlignment = mapsui.Widgets.Alignment.Center,HorizontalAlignment = mapsui.Widgets.HorizontalAlignment.left,VerticalAlignment = mapsui.Widgets.VerticalAlignment.bottom });

            SELEctMapControl.Map = map;

            double lat = 36.9628066;
            double lng = -122.0194722;

            var myposition = new position(lat,lng);
            var myPin = new Pin(SELEctMapControl) //Exception here
            {
               position = myposition,Type = PinType.Pin,Label = "Zero point",Address = "Zero point",};
            SELEctMapControl.Pins.Add(myPin);
}

我收到“未将对象引用设置为对象的实例。”行中的异常 var myPin = new Pin(SELEctMapControl)...

如果我的 lat 和 lng 都设置为 0 那么它就可以工作 这是异常中的堆栈跟踪:

   at mapsui.UI.Forms.Pin.onPropertyChanged (System.String propertyName) [0x001df] in <5cc65edf513349cdba641e049bbf0143>:0 

在 Xamarin.Forms.bindabLeobject.SETVALueActual(Xamarin.Forms.bindableProperty 属性、Xamarin.Forms.bindabLeobject+BindablePropertyContext 上下文、System.Object 值、System.Boolean currentApplying、Xamarin.Forms.Internals.SETVALueFlags 属性、System.Boolean无声) [0x00114] 在 D:\a\1\s\Xamarin.Forms.Core\BindabLeobject.cs:510 在 Xamarin.Forms.bindabLeobject.SETVALueCore(Xamarin.Forms.bindableProperty 属性、System.Object 值、Xamarin.Forms.Internals.SETVALueFlags 属性、Xamarin.Forms.bindabLeobject+SETVALuePrivateFlags privateAttributes)[0x00173] 在 D:\a\1\ s\Xamarin.Forms.Core\BindabLeobject.cs:446 在 Xamarin.Forms.bindabLeobject.SETVALue(Xamarin.Forms.bindableProperty 属性、System.Object 值、System.Boolean fromStyle、System.Boolean checkAccess)[0x0004d] 在 D:\a\1\s\Xamarin.Forms.Core\ BindabLeobject.cs:374 在 Xamarin.Forms.bindabLeobject.SETVALue(Xamarin.Forms.bindableProperty 属性,System.Object 值)[0x00000] 在 D:\a\1\s\Xamarin.Forms.Core\BindabLeobject.cs:349 在 mapsui.UI.Forms.Pin.set_position (mapsui.UI.Forms.position 值) [0x00000] 在 :0 在 eLunaApp.VIEws.RestaurantMapPage.onAppearing () [0x0008d] 在 C:\x\elunaapp\eLunaApp\PageRestaurantMap\RestaurantMapPage.xaml.cs:82 在 Xamarin.Forms.Page.SendAppearing () [0x00045] 在 D:\a\1\s\Xamarin.Forms.Core\Page.cs:452 在 Xamarin.Forms.SHellContent.SendPageAppearing(Xamarin.Forms.Page 页面)[0x0003b] 在 D:\a\1\s\Xamarin.Forms.Core\SHell\SHellContent.cs:127 在 Xamarin.Forms.SHellContent.SendAppearing () [0x00019] 在 D:\a\1\s\Xamarin.Forms.Core\SHell\SHellContent.cs:108 在 Xamarin.Forms.SHellContent.onChildAdded (Xamarin.Forms.Element child) [0x00021] 在 D:\a\1\s\Xamarin.Forms.Core\SHell\SHellContent.cs:138 在 Xamarin.Forms.SHellContent.set_ContentCache(Xamarin.Forms.Page 值)[0x0003b] 在 D:\a\1\s\Xamarin.Forms.Core\SHell\SHellContent.cs:182 在 Xamarin.Forms.SHellContent.Xamarin.Forms.ISHellContentController.GetorCreateContent () [0x0003c] 在 D:\a\1\s\Xamarin.Forms.Core\SHell\SHellContent.cs:68 在 Xamarin.Forms.Platform.AndroID.SHellSectionRenderer.onCreateVIEw(AndroID.VIEws.LayoutInflater inflater,AndroID.VIEws.VIEwGroup 容器,AndroID.oS.bundle savedInstanceState)[0x000f2] 在 D:\a\1\s\Xamarin.Forms .Platform.AndroID\Renderers\SHellSectionRenderer.cs:166 在 AndroIDX.Fragment.App.Fragment.n_OnCreateVIEw_LandroID_vIEw_LayoutInflater_LandroID_vIEw_VIEwGroup_LandroID_os_Bundle_ (system.intPtr jnienv,system.intPtr native__this,system.intPtr native_inflater,system.intPtr native_container,System.savedPtr inflater_LandroID_vIEw_VIEwGroup_LandroID_os_Bundle_) \androIDx.fragment.fragment\obj\Release\monoandroID90\generated\src\AndroIDX.Fragment.App.Fragment.cs:1950 at (wrapper dynamic-method) AndroID.Runtime.DynamicmethodnameCounter.50(intptr,intptr,intptr)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的将 pin 添加到 Mapsui 时出现异常(Xamarin Forms)全部内容,希望文章能够帮你解决将 pin 添加到 Mapsui 时出现异常(Xamarin Forms)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。