【发布时间】:2017-03-28 11:01:50
【问题描述】:
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());
}
}
}
和
“Fragment”不包含“GetMapAsync”的定义,并且找不到接受“Fragment”类型的第一个参数的扩展方法“GetMapAsync”(您是否缺少 using 指令或程序集引用?)googlemaps
提前谢谢你
【问题讨论】:
-
请不要发布您的代码截图 - 发布您的代码作为文本并正确格式化使用
{ .... }编辑器中的键 -
谢谢你的建议,但这是我第一次问,我不知道怎么问你能帮我吗?
-
正如我所说 - 不要发布您的代码的屏幕截图 - 发布您的代码直接作为文本,并通过突出显示正确格式化文本并单击编辑器工具栏中的
{ .... }按钮 - 代码将从左侧缩进 4 个空格,因此将显示为代码,很好地突出显示语法和所有.....这使得它看起来更简单,从而增加有人研究它并提供答案的机会$ -
无论
Fragment类型是什么,它都没有名为GetMapAsync的方法。而且由于FindFragmentById(显然)返回一个Fragment实例,所以你不能这样做。就像尝试做String.DoSomethingThatAStringCantDo()- 字符串上没有这样的方法。