Android 高德地图显(Maps)初步

高德地图 Android API 是一套简单的地图应用开发调用接口,可支持地图显示与操作,兴趣点搜索,地理编码与基站定位等功能;开发者可以轻松地将其嵌入自己的应用程序,而且提供稳定的位置及地图应用程序。且提供详细的中文帮助文档。闲话少说,现在我们就开始高德地图开发之旅:

1.在浏览器中输入以下网址http://api.amap.com/Android/download下载高德地图API开发包

2.新建android项目并将MapApi.jar导入到项目中

3.新建一个类并让其继承MapActivity(MapActivity 是一个抽象类,任何想要显示MapView 的activity 都需要派生自MapActivity。并且在其派生类的onCreate() 中,都要创建一个MapView 实例。)例如:

package com.demo.amap;

import com.amap.mapapi.core.GeoPoint;
import com.amap.mapapi.map.MapActivity;
import com.amap.mapapi.map.MapController;
import com.amap.mapapi.map.MapView;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class AmapActivity extends MapActivity {
    private MapView mapView;
    private MapController mapController;
    private GeoPoint geoPoint;
    /** 
    *显示栅格地图,启用内置缩放控件,并用MapController 控制地图的中心点及Zoom 级别  
    */ 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        //设置地图显示模式
        this.setMapMode(MAP_MODE_VECTOR);//矢量显示
        //this.setMapMode(MAP_MODE_BITMAP);//栅格显示
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_amap);
        mapView = (MapView)findViewById(R.id.mapView);
        mapView.setBuiltInZoomControls(true);//设置启用内置缩放控件
        mapController = mapView.getController();//得到mapview的控制权,可以用它来控制和驱动平移和缩放
        geoPoint = new GeoPoint((int) (39.982378 *  1E6),  
                (int) (116.304923 * 1E6));//用给定的经纬度构造一个GeoPoint,单位是微度(度* 1E6)
        mapController.setCenter(geoPoint);//设置地图中心
        mapController.setZoom(12);//设置缩放级别地图级别
        
        
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_amap, menu);
        return true;
    }
}

4.在布局文件中加入MapView,例如:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:autonavi="http://schemas.android.com/apk/res/com.AMap"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    
    
    <com.amap.mapapi.map.MapView android:id="@+id/mapView"  
    android:layout_width="fill_parent" android:layout_height="fill_parent"   
    android:clickable="true"     
    /> 
</LinearLayout>

5.在Androidmanfest.xml中加入所需要的权限

<uses-permission   
    android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>   
    <uses-permission    
    android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>  
    <uses-permission    
    android:name="android.permission.INTERNET"></uses-permission>  
    <uses-permission    
    android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>  
    <uses-permission    
    android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>  
    <uses-permission    
    android:name="android.permission.READ_PHONE_STATE"></uses-permission>  
    <uses-permission    
    android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>  
    <uses-permission    
    android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>  

到目前为止所有的准备工作都已经完成了,接下来只需要运行一下就行了,运行后的图片如下:

 

备注:如果有疑问可参考高德地图的官方网站:http://api.amap.com/Android

posted on 2012-09-06 11:30  飘杨......  阅读(744)  评论(0)    收藏  举报