教你做android 上的google map 地图

tank 教你做在android上的简单的google map程序

教你做android 上的google map 地图

第一步:申请google key 
1.找debug.keystore的路径
myeclipse中
window -->preferences -->android-->build-->default debug keystore 
default debug keystore ="C:\Documents and Settings\Administrator\.android\debug.keystore"
cmd 中:
keytool -list -alias androiddebugkey -keystore "C:\Documents and

Settings\Administrator\.android\debug.keystore"
输入:
android
就会得到指纹     7A:71:D1:*:EC:40:*:18:52:0A:08:B1:05:*:*:*

申请GOOGEL KEY 网址:http://code.google.com/intl/zh-CN/android/add-ons/google-apis/maps-api-

signup.html,输入后注册一个账号就可以得到 key了

第二步:
新建工程,注意在新建android project中build target中一定 要选google apis

前面自己的SDK因为安装没有完全所以build target中没有google apis,害自己困恼了点时间
OK没有的话重新安装一下SDK

新建一个类继承mapactivity

不多说贴源码:

?
1
package com.android.google.tank;<br><br>import java.util.List;<br><br>import android.graphics.drawable.Drawable;<br>import android.os.Bundle;<br>import android.view.View;<br>import android.view.View.OnClickListener;<br>import android.widget.Button;<br><br>import com.google.android.maps.GeoPoint;<br>import com.google.android.maps.MapActivity;<br>import com.google.android.maps.MapController;<br>import com.google.android.maps.MapView;<br>import com.google.android.maps.Overlay;<br>import com.google.android.maps.OverlayItem;<br><br>public class MyGoogleMapextends MapActivity {<br>private MapView mapView;<br>   private MapController mc;<br><br>  @Override<br>  protected boolean isRouteDisplayed() {<br>     // TODO Auto-generated method stub<br>      return false;<br>   }<br><br>   @Override<br>   protected void onCreate(Bundle icicle) {<br>        // TODO Auto-generated method stub<br>      super.onCreate(icicle);<br><br>               setContentView(R.layout.main);<br><br>        <br>        mapView = (MapView) findViewById(R.id.map);<br>     mapView.setTraffic(true);//交通模式<br>     mapView.setStreetView(false);//街道模式<br>     mapView.setSatellite(false);//卫星模式<br>      mc = mapView.getController();<br><br>       GeoPoint gp = new GeoPoint((int) (31.132259 * 1000000),<br>             (int) (121.180762 * 1000000)); // 地理坐标 上海<br>       mc.animateTo(gp);<br>       mc.setZoom(10);//缩放比例<br>       //添加缩放功能事件<br>      //放大<br>        Button btnBig=(Button) findViewById(R.id.btnBig);<br>       btnBig.setOnClickListener(new OnClickListener() {<br>           <br>            @Override<br>           public void onClick(View v) {<br>               // TODO Auto-generated method stub<br>              mapView.getController().setZoom(mapView.getZoomLevel()+1);<br>          }<br>       });<br>     //缩小<br>        Button btnSmall=(Button) findViewById(R.id.btnSmall);<br>       btnSmall.setOnClickListener(new OnClickListener() {<br>         <br>            @Override<br>           public void onClick(View v) {<br>               // TODO Auto-generated method stub<br>              mapView.getController().setZoom(mapView.getZoomLevel()-1);<br>          }<br>       });<br>     <br>        <br>    }<br><br>}<br><br><br><br><br><br>

在Androidmanifest.xml中配置权限和google的加载包:

?
1
<?xml version="1.0" encoding="utf-8"?><br><manifest xmlns:android=" http://schemas.android.com/apk/res/android"<br> package="com.android.google.tank" android:versionCode="1"<br>   android:versionName="1.0"><br>   <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><br>  <uses-permission android:name="android.permission.INTERNET" /><br>   <!--     访问网络的权限 --><br>  <application android:icon="@drawable/icon" android:label="@string/app_name"><br>      <uses-library android:name="com.google.android.maps" /><br>      <!--         加载google包       --><br>      <activity android:name="com.android.google.tank.MyGoogleMap"<br>         android:label="MapsDemo"><br>            <intent-filter><br>               <category android:name="android.intent.category.LAUNCHER"></category><br>               <action android:name="android.intent.action.MAIN"></action><br>         </intent-filter><br>      </activity><br>   </application><br><br><br></manifest>

main.xml中:

?
1
<?xml version="1.0" encoding="utf-8"?><br><LinearLayout xmlns:android=" http://schemas.android.com/apk/res/android"<br> android:orientation="vertical" android:layout_width="fill_parent"<br>   android:layout_height="fill_parent"><br><br> <LinearLayout android:id="@+id/LinearLayout01"<br>       android:layout_width="wrap_content" android:layout_height="wrap_content"><br>        <Button android:id="@+id/btnBig" android:text="放大"<br>           android:layout_width="wrap_content" android:layout_height="wrap_content"></Button><br>     <Button android:id="@+id/btnSmall" android:text="缩小"<br>         android:layout_width="wrap_content" android:layout_height="wrap_content"></Button><br> </LinearLayout><br>   <com.google.android.maps.MapView<br>     android:id="@+id/map" android:layout_width="match_parent"<br>       android:layout_height="match_parent" android:enabled="true"<br>     android:clickable="true" android:apiKey="你申请的goole key" /><br><br></LinearLayout>

ok 了,点击运行,就可以看到很cool的google地图了!

不过注意,一定要是可以连接网络的,模拟器要可以上网!模拟器的平台也要选择google api

下几篇我将贴出在google上自定义标注功能,和 如何获取gps自己的位置(经纬度!)

效果如图:

教你做android 上的google map 地图

http://www.cnblogs.com/tankaixiong/

你可能感兴趣的:(教你做android 上的google map 地图)