Map开发实例
1.Google Map介绍
google提供给开发者的API
1)基于地图的API
2)android将大部分地图功能封装在MapView当中
3)MapView将通过GoogleMaps服务取得数据
并以地图的方式显示出来
4)MapView提供了一组控件用于地图的控制
2.获取Maps API Key
1)应用程序签名(标识程序的开发者)
证书包含一个唯一的key
2)申请地图API Key的流程
a.生成证书指纹
1.在cmd下切换到.android目录下
2.输入命令:keytool -list -alias androiddebugkey -keystore debug.keystore
3.提示:输入keystore密码:(密码为android)
4.得到认证指纹:md5的加密字串:
880:55:11:25:46:0F:03:21:14:74:C1:E6:FB:BB:3D
5.打开网址:http://code.google.com/intl/zh-CN/android/maps-api-signup.html
6.此页面提示输入上面的指纹,输入即可
7.然后会进入Google地图,得到你需要的东西
您的密钥是:0aghymXI3zvYfK-wG5X4eaSZhCXNJCreXmBO7zw
此密钥适用于所有使用以下指纹所对应证书进行验证的应用程序:
67:A6:E5:80:AC:B5:8F:8E:BE:37:1F:BE:32:1D:B3:5B
下面是一个 xml 格式的示例,帮助您了解地图功能:
<com.google.android.maps.MapView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:apiKey="0aghymXI3zvZuxjgd7qnmjcjJWFaI7mmIqWZp-w"
/>
3.创建第一个MapView
注意:创建工程时的API选择Google APIS
模拟器也选择Google APIS
Activity继承的是MapActivity
如果密钥写错,则会出现空白地图
布局文件(MapView控件的使用):
<com.google.android.maps.MapView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:enabled="true"
android:clickable="true"
android:apiKey="0aghymXI3zvZuxjgd7qnmjcjJWFaI7mmIqWZp-w"
/>
在主配置文件:
<application>中加入应用map的权限
<uses-library android:name="com.google.android.maps"/>
4.地图的标记使用
1)在地图上添加标记
三个层(MapView Overlay1 Overlay2)
使用步骤:
a.在MapView之上创建一个单独的图层
b.创建标记对象
c.将标记显示在指定图层的指定位置
d.处理点击标记的事件
2)Overlay的作用(Overlay是一个抽象类)
地图标记的容器
3)ItemizedOverlay<OverlayItem>的作用
a.是Overlay的子类
b.包含一个或者多个OverlayItem对象
c.每一个OverlayItem代表一个标记
4)ItemizedOverlay的使用方法
5.地图上的绘制路径
1)Projection(投影)的作用
GeoPoint(经纬度点)
Point(坐标点)
注:GeoPoint代表起点和终点
将经纬度转换成为屏幕上的xy坐标
方法实现:
a.经纬度--->坐标
projection.toPixels(geoPoint,point);
b.坐标--->经纬度
projection.fromPixels(int x,int y)
2)在GoogleMap上绘制直线的方法
步骤:
a.确定线路的起始和终止的经纬度坐标
b.在起点和终点上绘制图标
c.将经纬度坐标换算成屏幕上的X轴和Y轴坐标
d.在起点和终点之间绘制路线