Android SDK 1.0上的MapView详解与使用

5星 · 超过95%的资源 需积分: 49 32 下载量 98 浏览量 更新于2024-09-18 1 收藏 80KB DOC 举报
本文主要介绍了如何在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取代,因此在实际开发中,应参考最新的开发文档和技术。