技术开发 频道

一步步教你用Android Google Map

  第四步:开始创建Android Google Map应用

  其实,编写Android Map应用并不复杂,只需要继承MapActivity类就可以了。MapView这个类功能是从Google Map地图中获得数据并且展示地图。MapActivity的主要功能有:

  1) 管理Activity的生命周期

  2) 为MapView类建立和撤消相关的服务。

  在继承了MapActivity类后,我们要实现其中的isRouteDisplayed方法,这个方法其实是用来表示我们是否显示一些路线的信息,这个通常用在地图的飞行模式时才使用,这里我们不提供任何信息仅是返回false即可。

  在我们的activity中,我们将引用到MapView,它是在界面xml中定义的。同时我们也用到setBuiltInZoomControls方法设置地图允许缩放模式。

  初步的代码是这样的:

package com.javacodegeeks.android.googlemaps;

import android.os.Bundle;

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

public class GMapsActivity extends MapActivity {
    
    
private MapView mapView;
    
    @Override
    
public void onCreate(Bundle savedInstanceState) {
        
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        mapView
= (MapView) findViewById(R.id.map_view);      
        mapView.setBuiltInZoomControls(
true);
        
    }

    @Override
    protected
boolean isRouteDisplayed() {
        return
false;
    }
    
}
  而相应的界面xml文件如下:
<?xml version="1.0" encoding="utf-8"?>

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

<com.google.android.maps.MapView
  xmlns:android
="http://schemas.android.com/apk/res/android"
  android:id
="@+id/map_view"
  android:layout_width
="fill_parent"
  android:layout_height
="fill_parent"
  android:clickable
="true"
  android:enabled
="true"
  android:apiKey
="API-KEY-HERE" />
  
</RelativeLayout>

 

  注意,其中要把你获得的Google Map的API KEY写到MapView控件中去。最后,记得在AndroidManifest.xml配置文件中,加上对Internet和Map的使用访问权限,其中由于Google Map的API是另外提供的API,因此也需要使用use-library标签进行说明,如下代码所示。

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package
="com.javacodegeeks.android.googlemaps"
      android:versionCode
="1"
      android:versionName
="1.0">
      
    
<application android:icon="@drawable/icon" android:label="@string/app_name">
    
        
<activity android:name=".GMapsActivity"
                  android:label
="@string/app_name">
            
<intent-filter>
                
<action android:name="android.intent.action.MAIN" />
                
<category android:name="android.intent.category.LAUNCHER" />
            
</intent-filter>
        
</activity>
        
      
<uses-library android:name="com.google.android.maps" />
      
    
</application>

    
<uses-permission android:name="android.permission.INTERNET"/>

</manifest>

  运行程序,可以得到一个初步的地图,如下图所示:


0
相关文章