【发布时间】:2012-01-30 15:09:36
【问题描述】:
我怎样才能让它在谷歌的 API 10 (2.3.3) 上运行 xamarin 的地图演示?,我试图用 Monodroid 提供的谷歌地图 api 运行地图演示应用程序,但它不起作用,它总是出现 Java .IO.Exception:27,Java.IO.Exception:28,依此类推。自 12 月以来,我一直在尝试使用它,但我没有看到任何解决方案。我正在使用 Monodevelop IDE 在 Mac 上工作。有没有人有办法解决吗?
编辑:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.maps.MapView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:enabled="true"
android:clickable="true"
android:apiKey="0oqo66omATbRfB2Wpsdf6Kpi9-fm88CsqwHauLg"
/>
这是我对 Manifest 的许可:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="cdcsoftwareerpmobileandroid.cdcsoftwareerpmobileandroid">
<application android:label="CdcSoftware.ErpMobile.AndroidUI" android:debuggable="true">
</application>
<uses-permission android:name="android.permission.CALL_PHONE">
</uses-permission>
<uses-permission android:name="android.permission.INTERNET">
</uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION">
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION">
</uses-permission>
<uses-sdk /></manifest>
这是 MapActivity 类,我评论了一行来测试这两个选项:
public class MapAddress : MapActivity
{
const String TAG = "MapViewCompassDemo";
private SensorManager sensor_manager;
private RotateView rotate_view;
private MyLocationOverlay location_overlay;
protected override void OnCreate (Bundle savedInstanceState)
{
base.OnCreate (savedInstanceState);
//SetContentView (Resource.Layout.mapview);
// Get a reference to the sensor manager
sensor_manager = (SensorManager) GetSystemService (Context.SensorService);
// Create our view
var map_view = new MapView (this, "0oqo66dsfTbRfB2Wp0Lr6Kpi9-fm88CsqwHauLg");
rotate_view = new RotateView (this);
rotate_view.AddView (map_view);
SetContentView (rotate_view);
// Create the location overlay
location_overlay = new MyLocationOverlay (this, map_view);
location_overlay.RunOnFirstFix (delegate {
map_view.Controller.AnimateTo (location_overlay.MyLocation);
});
map_view.Overlays.Add (location_overlay);
map_view.Controller.SetZoom(18);
map_view.Clickable = true;
map_view.Enabled = true;
}
protected override bool IsRouteDisplayed {
get { return false; }
}
}
注意:那里的 Api Key 不是真实的。
【问题讨论】:
标签: c# android google-maps xamarin.android