Osmdroid,如何创建一个静态叠加层,保留在地图的中心

时间:2012-05-02 20:53:36

标签: android map android-mapview osmdroid

我搜索了高低,找出了如何将一个未固定到GeoPoint的叠加层(即地理坐标),而是停留在视图中的固定点(例如MapView的中心)无论在地图中移动/滚动。

MapView有一个.addView()方法。我尝试使用drawable创建一个视图,但视图将固定在地图上,就像一个overlayitem,这不是我想要的。

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

使用地图和视图制作一个framelayout。在视图中填充背景,并将其水平和垂直居中,使背景在地图上居中。

<FrameLayout 
       android:id="@+id/form_lin_map"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:orientation="vertical"
       android:layout_gravity="center_horizontal|center_vertical">

       <org.osmdroid.views.MapView
        android:id="@+id/form_mapView"
        android:layout_width="fill_parent"
        android:layout_height="220dp"
        android:enabled="true"
        android:clickable="true"
        android:paddingBottom="10dp"
        />

        <View
         android:id="@+id/form_View"
         android:layout_width="40dp"
         android:layout_height="40dp"
         android:layout_gravity="center_horizontal|center_vertical"
         android:background="@drawable/cross" />
    </FrameLayout>'

答案 1 :(得分:0)

当然,如果你只想要一些固定在显示器中心的东西,而不是在mapView上,那你就错了。 overlayItems与GeoPoints绑定,这就是他们的目的。

只需创建任何类型的新的,普通的,android视图对象,并将其添加到MapView顶部的主视图中,在任何需要的地方布局?