
Android SDK 1.0上的MapView详解与使用

本文主要介绍了如何在Android应用中使用MapView,包括步骤和示例代码。
在Android开发中,MapView是一个重要的组件,它允许开发者在应用中集成地图功能。以下是使用MapView的关键步骤和知识点:
1. 添加地图库依赖:
在`AndroidManifest.xml`文件中,需要添加对Google Maps库的引用,通过`<uses-library>`标签来声明:
```xml
<uses-library android:name="com.google.android.maps" />
```
这样才能使用MapView相关的类和方法。
2. 布局设计:
在布局文件(如`main.xml`)中,你需要包含一个MapView组件,并设置其属性,例如:
```xml
<com.google.android.maps.MapView
android:id="@+id/map"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:apiKey="Map_Demo"
android:clickable="true"/>
```
`apiKey`是用于验证应用的唯一标识,需要从Google Maps API中获取。
3. 创建MapViewActivity:
创建一个继承自`MapActivity`的Activity,如`MapViewActivity`。在`onCreate`方法中初始化MapView对象,并设置控制器:
```java
public class MapViewActivity extends MapActivity {
MapView mapView;
MapController mapController;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
mapView = (MapView) findViewById(R.id.map);
mapController = mapView.getController();
mapController.setZoom(15); // 设置缩放级别
updateView();
}
}
```
4. 控制地图行为:
可以通过`MapController`实例来控制地图的行为,例如设置中心点、缩放级别等。在上述示例中,`updateView()`方法设置了地图的中心点:
```java
private void updateView() {
double lat = 31.23717 * 1E6;
double lng = 121.50811 * 1E6;
GeoPoint point = new GeoPoint((int) lat, (int) lng);
mapController.setCenter(point);
}
```
5. 添加额外功能:
示例中还展示了如何在MapView下方添加一个EditText供用户输入查询地址。另外,为了实现ZoomIn和ZoomOut功能,可以将MapView的ZoomControls添加到布局中:
```xml
<LinearLayout
android:id="@+id/zoom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true" />
```
然后在`onCreate`方法中:
```java
ViewGroup zoom = (ViewGroup) findViewById(R.id.zoom);
zoom.addView(mapView.getZoomControls());
```
6. API Key申请与放置:
要使用Google Maps API,需要申请API Key,并将其放在合适的地方。通常可以在布局文件的MapView组件中设置,或者在Activity的构造函数中传入。
7. 权限需求:
在`AndroidManifest.xml`中,需要添加使用网络的权限:
```xml
<uses-permission android:name="android.permission.INTERNET" />
```
如果需要使用GPS等功能,还需要添加访问精细位置的权限:
```xml
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
```
8. Activity继承自MapActivity:
为了使用地图功能,Activity必须继承自`MapActivity`,并覆盖`isRouteDisplayed()`方法。
通过以上步骤,你就可以在Android应用中成功地展示和操作地图了。不过,需要注意的是,随着Android SDK的更新,部分方法和类可能已经过时或被新的API取代,因此在实际开发中,应参考最新的开发文档和技术。
相关推荐







leiwenqing_1982
- 粉丝: 0
最新资源
- 大学数据结构课件精选推荐
- C++实现获取MSN Messenger联系人列表功能
- MapGIS操作手册:全面教程共享指南
- 10个PHP+MYSQL经典实例详解电子课件
- 十日速成ASP.NET编程教程
- 用C#开发的简易文本编辑器软件
- 控件图标设计应用:美观共享与详解
- Java Struts2实现带进度显示的大文件上传
- Alcohol 120% 5.0 Blu-Ray 中文版虚拟光驱安装指南
- 胶州信息网源码下载-大型门户网站完整版
- 阿拉伯语输入法的简易安装指南
- Protel99SE电路设计与仿真方法详解
- IOCP封装DLL:简化服务器编程的利器
- Java实现带进度条的多文件上传
- 深入学习游戏编程:半条命源码02版C++解析
- 超市信息管理系统开发与使用指南
- JAVA网络爬虫技术源代码分析
- 掌握BREW开发:Calculator Widget示例教程
- Java版电子商务系统完整项目源码解析
- .NET图片上传组件实现水印添加与自定义功能
- Java骑士游历课程设计 - 案例一完整版
- 云天通用后台自动喊话器:适合游戏的免费聊天工具
- Jquery实现的TreeTable功能展示与下载
- 利用VC和excel9.cpp实现在Excel中插入行的方法