android – 使用.GetMapAsync代替.getMap方法与Google Play服务(Xamarin)

android – 使用.GetMapAsync代替.getMap方法与Google Play服务(Xamarin),第1张

概述旧代码以这种方式完美运行: LatLng location = new LatLng (myClass.myLocation.Latitude, myClass.myLocation.Longitude);CameraPosition.Builder builder = CameraPosition.InvokeBuilder ();builder.Target (location);bui 旧代码以这种方式完美运行:
LatLng location = new LatLng (myClass.myLocation.Latitude,myClass.myLocation.Longitude);Cameraposition.Builder builder = Cameraposition.InvokeBuilder ();builder.Target (location);builder.Zoom (18);Cameraposition cameraposition = builder.Build ();MapsInitializer.Initialize (this);CameraUpdate cameraUpdate = CameraUpdateFactory.NewCameraposition (cameraposition);MapFragment GoogleMap = FragmentManager.FindFragmentByID<MapFragment> (Resource.ID.map);theMap = GoogleMap.Map;if (theMap != null) {    theMap.MapType = GoogleMap.MapTypenormal;    theMap.MoveCamera (cameraUpdate);}

但是现在.Map已经过时并且已弃用,我必须以某种方式使用.GetMapAsync:

theMap = GoogleMap.GetMapAsync (IOnMapReadyCallback);

但我不明白怎么做.

有人可以帮助我吗?

解决方法 您的地图片段类必须实现OnMapReadyCallback并覆盖onMapReady():
@OverrIDepublic voID onMapReady(final GoogleMap map) {    this.map = map;    map.setMyLocationEnabled(true);}

在onCreateVIEw中使用getMapAsync()来设置片段的回调:

MapFragment mapFragment = (MapFragment) getFragmentManager()    .findFragmentByID(R.ID.map); mapFragment.getMapAsync(this);

您需要实现谷歌地图V2所需的一切:
https://developers.google.com/maps/documentation/android/map

总结

以上是内存溢出为你收集整理的android – 使用.GetMapAsync代替.getMap方法与Google Play服务(Xamarin)全部内容,希望文章能够帮你解决android – 使用.GetMapAsync代替.getMap方法与Google Play服务(Xamarin)所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1134428.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存