tank 教你做在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自己的位置(经纬度!)
效果如图: