WEB开发网
开发学院手机开发Android 开发 Android中使用Google 地图 阅读

Android中使用Google 地图

 2012-09-17 20:37:29 来源:WEB开发网   
核心提示: 第一步:建一个包含Google APIs的工程第二步:获取Android Maps API 金钥第三步:载入MapView第四步:通过MapController控制地图缩放与移动获取密钥的方法:第一步:C:\Users\Jet>keytool -list -alias androiddebugkey -keys

 

第一步:建一个包含Google APIs的工程
第二步:获取Android Maps API 金钥
第三步:载入MapView
第四步:通过MapController控制地图缩放与移动
获取密钥的方法:
第一步:C:\Users\Jet>keytool -list -alias androiddebugkey -keystore "C:\Users\Jet\.android\debug.keystore" -storepass android -keypass android
红字部分是keystore的具体路径,此处修改成自己电脑上keystore的真实路径即可
执行命令后,会得到MD5认证指纹
第二步:打开http://code.google.com/intl/zh-CN/android/maps-api-signup.html,在页面最下部有一处输入认证指纹得到密钥的地方。将你得到的MD5指纹输入,提交即可得到密钥。(上面这个网址貌似需要翻墙之后才能正常打开,否则输入指纹的地方显示不出来)
密钥格式:0QB6Bk20bHSaAJIZN******3upyNFLK_tujWTBw
注意:
1)不要把经度和纬度搞混,否则影响正常显示
2)在manifest.xml的<application>标签中加这一句<uses-library android:name="com.google.android.maps"/>
 
 
public class LLAddressActivity extends MapActivity {
	private MapController mMapController;
	private MapView mapView;
	private Button button1, button2, button3;
	private EditText longet, latiet;
	private int zoomLevel = 0;
	private double dLati = 25.0402555;
	private double dLong = 121.512377;
	private String longitude = "";
	private String latitude = "";

	@Override
	protected void onCreate(Bundle icicle) {
		super.onCreate(icicle);
		setContentView(R.layout.lladdress);

		//find components
		mapView = (MapView) findViewById(R.id.address_mapview);
		button1 = (Button) findViewById(R.id.address_search);
		button2 = (Button) findViewById(R.id.address_plus);
		button3 = (Button) findViewById(R.id.address_minus);
		longet = (EditText) findViewById(R.id.longtitude_et);
		latiet = (EditText) findViewById(R.id.latitude_et);

		mMapController = mapView.getController();
		// 设置MapView的显示选项
		mapView.setSatellite(true);

		//默认的放大层级
		zoomLevel = 17;
		mMapController.setZoom(zoomLevel);
		refreshMapView();

		button1.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				longitude = longet.getText().toString();
				latitude = latiet.getText().toString();
				dLong = Double.parseDouble(longitude);
				dLati = Double.parseDouble(latitude);
				refreshMapView();
				Log.e("MAP", "latitude:" + dLati + "logitude" + longitude);
			}
		});
		button2.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				zoomLevel++;
				if (zoomLevel > mapView.getMaxZoomLevel()) {
					zoomLevel = mapView.getMaxZoomLevel();
				}
				mMapController.setZoom(zoomLevel);
			}
		});
		button3.setOnClickListener(new Button.OnClickListener() {
			@Override
			public void onClick(View v) {
				zoomLevel--;
				if (zoomLevel < 1) {
					zoomLevel = 1;
				}
				mMapController.setZoom(zoomLevel);
			}
		});
	}

	/**
	 * 重整Map的Method
	 */
	private void refreshMapView() {
		GeoPoint p = new GeoPoint((int) (dLati * 1E6), (int) (dLong * 1E6));
		mapView.displayZoomControls(true);
		/* 将Map的中点移动GeoPoint */
		mMapController.animateTo(p);
		mMapController.setZoom(zoomLevel);
	}

	@Override
	protected boolean isRouteDisplayed() {
		return false;
	}

}

1 2  下一页

Tags:Android 使用 Google

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接