2014-01-12 56 views
0

我刚刚写了一个简单的程序添加到Google地图上的制造商。当我在手机上运行应用程序时,标记不可见,但Google地图正在加载。请帮助我。我编写了基于Google文档的程序。 (https://developers.google.com/maps/documentation/android/marker#add_a_marker)。这是代码。谷歌地图正在加载,但标记没有在Android本地应用程序的地图上显示

MainActivity

  public class MainActivity extends Activity { 

       GoogleMap mMap; 
       @Override 
       protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
        if(mMap== null){ 
         mMap= ((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap(); 

        } 
        mMap.addMarker(new MarkerOptions() 
        .position(new LatLng(0, 0)) 
        .title("Hello world")); 

       } 

       @Override 
       public boolean onCreateOptionsMenu(Menu menu) { 
        // Inflate the menu; this adds items to the action bar if it is present. 
        getMenuInflater().inflate(R.menu.main, menu); 
        return true; 
       } 

      } 

activity_main.xml中

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/map" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     class="com.google.android.gms.maps.MapFragment" 
     xmlns:map="http://schemas.android.com/apk/res-auto" 
     map:cameraBearing="112.5" 
     map:cameraTargetLat="-33.796923" 
     map:cameraTargetLng="150.922433" 
     map:cameraTilt="30" 
     map:cameraZoom="6" 
     map:mapType="normal" 
     map:uiCompass="false" 
     map:uiRotateGestures="true" 
     map:uiScrollGestures="false" 
     map:uiTiltGestures="true" 
     map:uiZoomControls="false" 
     map:uiZoomGestures="true"/> 

的Manifest.xml

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      package="com.example.dummymaptest" 
      android:versionCode="1" 
      android:versionName="1.0" > 
      <permission 
        android:name="com.example.dummymaptest.permission.MAPS_RECEIVE" 
        android:protectionLevel="signature"/> 
       <uses-permission android:name="com.example.dummymaptest.permission.MAPS_RECEIVE"/> 
      <uses-sdk 
       android:minSdkVersion="12" 
       android:targetSdkVersion="18" /> 
      <uses-permission android:name="android.permission.INTERNET" /> 
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
      <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
      <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
      <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

      <uses-feature 
       android:glEsVersion="0x00020000" 
       android:required="true"/> 


      <application 
       android:allowBackup="true" 
       android:icon="@drawable/ic_launcher" 
       android:label="@string/app_name" 
       android:theme="@style/AppTheme" > 

       <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="key" /> 


       <meta-data android:name="com.google.android.gms.version" 
       android:value="@integer/google_play_services_version" /> 
       <activity 
        android:name="com.example.dummymaptest.MainActivity" 
        android:label="@string/app_name" > 
        <intent-filter> 
         <action android:name="android.intent.action.MAIN" /> 

         <category android:name="android.intent.category.LAUNCHER" /> 
        </intent-filter> 
       </activity> 
      </application> 

     </manifest> 

回答

0

您尚未创建标记对象。这样做:

Marker marker = mMap.addMarker(new MarkerOptions() 
       .position(new LatLng(0, 0)) 
       .title("Hello world")); 

标记将显示在非洲附近的某处。

+0

我加入这一行标记标记= mMap.addMarker(新的MarkerOptions() .POSITION(新经纬度(28.6100,77.2300)) .title伪(的 “Hello world”))取代以前的一个。但是标记仍然不可见。 –

0

您正在添加经纬度为0,0的标记,因此标记会在非洲附近海域的某处显示。给一些真正的经纬度,然后标记肯定会显示。

+0

我已将Lat-long更改为LatLng(28.6100,77.2300)。但它不工作:( –

+0

你是否通过缩小检查了你的缩放级别为6 –

+0

map:cameraZoom =“6”。该属性已经在片段中设置 –

相关问题