2014-04-21 113 views
0

我想添加一個「目標」,該目標將被表示爲必須始終保留在當前地圖視圖中心的圓。通過API查看,我看到很多關於添加標記,形狀,地面覆蓋圖和圖塊覆蓋圖的內容,但似乎沒有一個適合我的需求。將疊加層添加到攝像機視圖而不是地圖視圖

基本上它們都是用來在指定地點繪製元素的。我需要的是實際相機視圖的某種疊加。一個很好的例子就是通過相機的鏡頭看一個圓圈代表幀的中心。

回答

0

可以使用RelativeLayout的,其中包含了MapFragment加上額外的自定義視圖:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" android:layout_height="match_parent"> 

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

<mypackage.MyCustomView 
    android:id="@+id/mapOverlay" android:layout_width="match_parent" 
    android:layout_height="match_parent" android:background="@android:color/transparent" /> 


</RelativeLayout> 

不管你吸引到自定義視圖,例如中心的一個圓圈繪製在地圖頂部,並且將停留在那裏,與地圖運動無關。

如果您想調整形狀以適應變焦,傾斜等情況,您需要聆聽相機變化並相應地調整圖形。不幸的是,CameraChangeListener僅在更改完成後才被調用。所以你不能立即跟隨你的繪圖的縮放或傾斜手勢。