Monodroid添加地图预览

时间:2014-06-18 00:30:24

标签: android google-maps xamarin.android

我正在尝试在预览样式的片段中添加谷歌地图v2,但我不确定如何在视图中使用所需的缩放来适应地图。当我尝试在完整片段中添加地图时,它可以正常工作。我正在使用framelayout并像这样加载地图

  void InitMapFragment()
    {
        GoogleMapOptions mapOptions = new GoogleMapOptions()
            .InvokeMapType(GoogleMap.MapTypeNormal)
            .InvokeZoomControlsEnabled(true)
            .InvokeCompassEnabled(true);
        m_mapFragment = SupportMapFragment.NewInstance(mapOptions);

        Activity.SupportFragmentManager.BeginTransaction().Replace(Resource.Id.mapLayout, m_mapFragment, "map").Commit();
    }

有关如何在Sunrise应用中添加小型prview格式的任何想法? Map location preview

以下是我的布局文件外观的示例

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/RegularMatchLayout"
android:orientation="vertical"
android:background="#e5e5e5">
<FrameLayout
    android:id="@+id/mapLayout"
    android:layout_width="300dp"
    android:layout_height="300dp" />
</LinearLayout>

1 个答案:

答案 0 :(得分:0)

我做了类似的事情:
对于布局我使用片段而不是帧布局,但它或多或少都相同。

<fragment
    android:id="@+id/map"
    class="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="208dp" />

然后我使用此代码查找地图并设置适当的缩放级别:

        _map = ((SupportMapFragment)SupportFragmentManager.FindFragmentById(Resource.Id.map)).Map;
        _map.UiSettings.ZoomControlsEnabled = false;
        _map.UiSettings.ScrollGesturesEnabled = false;
        _map.UiSettings.RotateGesturesEnabled = false;
        _map.UiSettings.ZoomGesturesEnabled = false;
        _map.UiSettings.TiltGesturesEnabled = false;
        var location = new LatLng(_item.Latitude, _item.Longitude);
        _map.MoveCamera(CameraUpdateFactory.NewLatLngZoom(location, 16));
        var markerOptions = new MarkerOptions();
        markerOptions.SetPosition(location);
        markerOptions.InvokeIcon(BitmapDescriptorFactory.FromResource(Resource.Drawable.ic_map_marker));
        _map.AddMarker(markerOptions);