你能帮我解决一下我的代码吗?

时间:2017-03-28 11:01:50

标签: c# xamarin

using Android.App;
using Android.Widget;
using Android.OS;
using System;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Gms.Maps;
using Android.Gms.Maps.Model;
using System.Configuration;


namespace googlemaps
{
    [Activity(Label = "googlemaps", MainLauncher = true, Icon = "@drawable/icon")]


    MainActivity


    public class MainActivity: Activity, IOnMapReadyCallback
    { 
        private GoogleMap GMap;


        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            // Set our view from the "main" layout resource  
            SetContentView(Resource.Layout.XMLFile1);

            SetUpMap();
        }
        private void SetUpMap()
        {
           if (GMap == null)
            {

                MapFragment mapFragment = (MapFragment)FragmentManager.FindFragmentById(Resource.Id.map).GetMapAsync(this);
            }
        }
        public void OnMapReady(GoogleMap googleMap)
        {
            MarkerOptions MarkerOptions = new MarkerOptions();
            MarkerOptions.SetPosition(new LatLng(16.03, 108));
            MarkerOptions.SetTitle("My Postion");
            googleMap.AddMarker(MarkerOptions);
            googleMap.UiSettings.ZoomControlsEnabled = true;
            googleMap.UiSettings.CompassEnabled = true;
            googleMap.MoveCamera(CameraUpdateFactory.ZoomIn());

        }


        }

    }

  

'片段'不包含' GetMapAsync'的定义没有扩展方法' GetMapAsync'接受第一个类型' Fragment'可以找到(你错过了使用指令或汇编引用吗?)googlemaps

提前谢谢

1 个答案:

答案 0 :(得分:0)

你的方法" OnMapReady"需要覆盖基类的方法。

public override void OnMapReady(GoogleMap gmap)
{
    //dostuff
}

我不是100%,因为我从来没有专门做过这件事,但我相当肯定它会抱怨这种回调方法。

我用this来查找。这是用于Android开发的原生Java,但它主要从经验转化为Xamarin。