gooleMap

开发基于谷歌地图的应用和普通的android应用差不多都要使用它提供给我们的类库,所不同的是google map的类库不是android平台的基本类库,是google api的一部分,所以建立项目时,SDK要选择Google APIs;

还有一点,开发基于地图的应用时候需要使用google map的APIkey,必须先申请key,然后才能开发基于地图的应用。

下边分步骤记录下,整个过程:

 一、申请google Maps API key(用于开发和debug)

为了能顺利的申请Android Map API Key,必须要准备google的账号和系统的证明书。一般Google发布Key都需要Google账号,Google账号是通用的,Gmail的账号 就可以。当一个程序发布时必须要证明书,证明书其实就是MD5.我们这里并不是发布,而只是为了开发测试,可以使用Debug版的证明书,下面我们就来学 习如何申请Debug版的Key:

1.找到你的debug.keystore文件

在Eclipse工具下,选择windows-->Preference-->Android-->Build, 其中Default debug keystore的值便是debug.keystore的路径了。

2.取得debug.keystore的MD5值

首先cmd命令行进入debug.keystore文件所在的路径,执行命令:keytool -list -keystore debug.keystore ,这时可能会提示你输入密码,这里默认的密码是“android",这样即可取得MD5值。

注:输入keytool -list -keystore debug.keystore  有可能列出的不是MD5,这时需要  keytool -list -v -keystore debug.keystore 这样就把三种指纹证书全部列出来了,包括MD5、SHA1、SHA256。(密钥口令是android)

点击creat 会出现你的地图api的密钥 一个xml文件

OK 现在就可以进入map代码的编写了 代码如下

 keytool -list -v -keystore debug.keystore 这样就把三种指纹证书全部列出来了,包括MD5、SHA1、SHA256。(密钥口令是android)
package bsn.google.map;

import android.content.Context;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;

public class MapView extends MapActivity{
	private  com.google.android.maps.MapView mapView;
     private MapController mapController;
	 @Override
	protected void onCreate(Bundle icicle) {
		super.onCreate(icicle);
		setContentView(R.layout.main);
		mapView=(com.google.android.maps.MapView) findViewById(R.id.test_mapview);
		this.mapView.setBuiltInZoomControls(true);//设置多点触摸放大
	    mapView.setSatellite(false);//设置地图为卫星地图
	//geopoint 对象是google API 提供的对象   http://code.google.com/intl/zh-CN/android/add-ons/google-apis/reference/index.html
//	    GeoPoint geoPoint=new GeoPoint(39000000, 116000000);
	     this.mapController=mapView.getController();
	     this.mapController.setZoom(11);// Sets the zoomlevel of the map。。
	     this.mapController.animateTo(getCurrentGeoPoint());
	     
	}
	@Override
	protected boolean isRouteDisplayed() {
     //这个方法被继承 但是它是干什么的?
	//网上说这个方法是用来表示我们是否显示一些路线信息。这个通常在地图的飞行模式才使用,所以我们返回false
		return false;
	}
	//此方法用locationManager 来获取位置 并在mapView上显示出来
	private GeoPoint getCurrentGeoPoint(){
		LocationManager locationManager=(LocationManager) getSystemService(Context.LOCATION_SERVICE);
		Location   location=locationManager.getLastKnownLocation(locationManager.NETWORK_PROVIDER);
		
		
		return new GeoPoint((int)(location.getLatitude()*1e6), (int)(location.getLongitude()*1e6));
	}

}
哎上传图片

    * get userinfo failed


    Ok先到这里,待续

    


    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 1
      评论
    评论 1
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值