2015-04-14 25 views
1

我使用谷歌地圖api v2,首先我嘗試了它在谷歌地圖acitivy它工作正常,然後我嘗試了一個空白的活動,但標記不出現時我加入他們,我沒有得到本地化的幫助請標記不會出現在我的谷歌地圖api v2(空白敏感)

這是我的主要活動代碼

package pixel.lastmaptest; 

import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 

import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.model.LatLng; 
import com.google.android.gms.maps.model.MarkerOptions; 


public class MapsActivity extends FragmentActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_maps); 
} 

public void onMapReady(GoogleMap map) { 
    map.addMarker(new MarkerOptions() 
      .position(new LatLng(10, 10)) 
      .title("It Works !")); 
} 



} 

回答

0

你有沒有在XML中添加的MapFragment?如果是的話,應該有一些日誌說明爲什麼地圖沒有膨脹(即空白活動)。

此外,您需要調用getMapAsync()以獲取onMapReady()中的回調。

+0

嗨這就是我的XML FIL '<片段的xmlns:安卓=「HTTP://模式.android.com/apk/res/android「 android:id =」@ + id/map「android:layout_width =」match_parent「 android:layout_height =」match_parent「 android:na我=「com.google.android.gms.maps.MapFragment」/>' 並且我還沒有理解如何調用getMapAsync()來獲取onMapReady()中的回調。 感謝幫助 –

+0

對於上述佈局,地圖應該是可見的.. 要獲取地圖對象,並調用getMapAsync()做到這一點:: 'MapFragment mapFragment =(MapFragment)getFragmentManager()。findFragmentById(R.id.map) ; mapFragment.getMapAsync(this);' –

0

如果您只有此代碼,您尚未創建地圖。

按照documentation

一旦該接口的一個實例被設定在MapFragment或MapView的物體上,當在地圖上準備好被使用,並提供了一個非觸發onMapReady(GoogleMap的)方法GoogleMap的null實例。

您可以創建在你的XML一個MapFragment:

<fragment 
class="com.google.android.gms.maps.MapFragment" 
android:layout_width="match_parent" 
android:layout_height="match_parent"/> 

或者編程:

MapFragment mMapFragment = MapFragment.newInstance(MapActivity.this); 
FragmentTransaction ft = mFragmentManager.beginTransaction(); 
ft.add(R.id.frmMain, mMapFragment, "fragmentMap"); 
ft.commit(); 
+0

您好,我已經有這個我只是忘記發佈它 '