2014-09-12 79 views
0

我嘗試在我的谷歌地圖上做一個標記。 我跟着一個教程,但是當我把setBuiltInZoomControls()出現一個錯誤的消息「方法setBuiltInZoomControls()是未定義的類型MapView」。 如何解決問題? mainactivity.java:setBuiltInZoomControls()方法未定義爲MapView類型

package com.googlemaps; 

import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 

import com.google.android.gms.maps.MapView; 
import com.google.android.maps.MapActivity; 


public class MainActivity extends MapActivity { 

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

    MapView view= (MapView) findViewById(R.id.map); 
    view.setBuiltInZoomControls(true); 
} 

@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; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 
    if (id == R.id.action_settings) { 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

@Override 
protected boolean isRouteDisplayed() { 
    // TODO Auto-generated method stub 
    return false; 
} 
} 
Activity_main.xml: 

<?xml version="1.0" encoding="utf-8"?> 
<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/map" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:name="com.google.android.gms.maps.MapFragment" 
     /> 

回答

0

請嘗試以下方法。確保你有谷歌播放服務

// Handle to Google maps 
     GoogleMap googleMap; 
    // Getting reference to the SupportMapFragment 
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); 

    // Getting GoogleMap object from the fragment 
    googleMap = mapFragment.getMap(); 

    // Changing the map type to hybrid view 
    googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID); 
    // Changing the map type to normal view 
    googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); 
    // enable the zoom controls 
    googleMap.setBuiltInZoomControls(true) 
0

我發現了很多不正確和過時的答案這個問題,不妨發佈什麼對我有用。

private GoogleMap mMap = null; 


... 


@Override 
public void onMapReady(GoogleMap googleMap) { 
    mMap = googleMap; 
    mMap.getUiSettings().setZoomControlsEnabled(true); 
} 
相關問題