在论坛里看到一篇 "MapView和其它控件一起显示
" 的帖子, 那是很老的一篇帖子了, 很多朋友都说无法在android SDK
1.0上运行。既然那么多人关心,我在这里就把它重写一遍,顺便加入了一些新的功能
,感兴趣的朋友可以看看。
第一步,当然是增加map的支持了。在Android
Manifest.xml中增加以下语句:
<uses-library android:name="com.google.android.maps" />
第二步, 传说中的Layout:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<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" />
<EditText android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="输入查询地址"
android:selectAll/>
</RelativeLayout>
然后, 创建一个MapViewActivity:
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();
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
private void updateView(){
Double lat = 31.23717*1E6;
Double lng = 121.50811*1E6;
GeoPoint point = new GeoPoint(lat.intValue(), lng.intValue());
mapController.setCenter(point);
}
}
好了,你的MapView上面就多了一个EditText了。
接着,我希望在MapView中增加ZoomIn和ZoomOut的功能(鄙视一下Google
,缺省的MapView居然连这个功能都没有)
1. 在我们的Layout中增加一段:
<LinearLayout android:id="@+id/zoom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true" />
2. 在onCreate函数中增加:
ViewGroup zoom=(ViewGroup)findViewById(R.id.zoom);
zoom.addView(mapView.getZoomControls());
现在在你的地图中点一下,屏幕左下角,是不是出现了一个Zoom Table? 这才是一个最基本的地图功能嘛。
附件是相应的源代码,不想敲键盘的同志,也可以直接import这个代码。
MapView.rar
(24.02 KB)
下一步,我打算在上面实现更多的功能,先准备实现一个“做标记”的功能,即可以在自己感兴趣的点上,插上
一面小红旗
,往后准备再实现一个在MapView上面画一段路经的功能,等实现后,我将尽快的把代码贴上来。
分享到:
相关推荐
下面将详细阐述`MapView`的使用方法。 1. **在布局文件中注册MapView** 在XML布局文件中,你需要添加一个`MapView`元素,并设置其宽度和高度。通常我们将其设为`match_parent`以占据整个父视图的空间。例如: ```...
要使用MapView,首先需要在Google Cloud Platform上注册应用并获取API密钥,然后在AndroidManifest.xml中添加相应的权限和地图服务声明。在布局文件中添加MapView控件,并在代码中初始化,设置API密钥,以便加载地图...
本文将详细介绍如何使用`MapView`进行地图开发,并解决可能出现的问题。 首先,要在Android应用中使用`MapView`,必须在`AndroidManifest.xml`文件中添加必要的配置。在`<application>`标签内,你需要引入Google ...
在Android开发中,MapView是Google Maps API提供的一种视图组件,用于在应用程序中显示地图。为了增强用户体验,我们有时需要在MapView上添加自定义功能,例如浮动按钮。`ItemizedOverlay`是Android SDK中一个非常...
在本篇博客“Eclipse开发Android,Hello, MapView(学习5)”中,我们将探讨如何在Android开发环境中使用Eclipse集成开发环境(IDE)来创建一个简单的应用程序,该程序展示了一个显示地图的MapView。这个过程涉及到...
Android MapView 应用,基于Android开发,应用Android SDK 1.5
通过上述步骤,我们可以在Android应用程序的Tab页中成功添加并使用`MapView`。需要注意的是,在实际项目中还需要处理更多的细节问题,例如地图的交互、定位等功能的实现等。此外,随着Android开发框架的不断更新,...
在使用MapView之前,需要确保在项目的build.gradle文件中添加了Google Play服务库的依赖,并且在设备或模拟器上安装了Google Play服务。 在创建MapView时,开发者需要在布局XML文件中声明MapView,并为其设置一个...
在使用`MapView`之前,需要在Google Cloud Console上创建一个新的Android项目,获取API密钥,并在项目的`AndroidManifest.xml`中添加该密钥,如下所示: ```xml android:name="com.google.android.geo.API_KEY" ...
【Qt MapView】是基于Qt框架开发的一个地图查看应用示例,主要展示了如何在Qt环境中集成地图显示功能。Qt是一个跨平台的C++图形用户界面应用程序开发框架,它提供了丰富的API和工具,使得开发者能够创建出高效、美观...
在iOS开发中,`MapView` 是一个非常重要的组件,它允许开发者在应用中展示地图、定位用户位置以及进行各种地理信息操作。在这个特定的案例中,“MapView画路线图和查询附件的公园医院等”是一个结合了Google API的...
这些模块通常由社区成员开发并维护,`mapview`就是其中之一。Kivy Garden中的模块可以通过`kivy.garden`导入,使得开发者能够轻松地将这些扩展功能集成到自己的项目中。 3. **Mapview模块**: `mapview`模块为Kivy...
下面我们将详细探讨如何在Android SDK 2.1及以上版本中使用`MapView`与`Fragment`。 1. **兼容性处理**: - 在Android 2.1(API级别7)及更高版本上开发Map应用,我们需要依赖`Support Library`或`AndroidX`库,...
2. **OBIEE-MapViewer.doc** - 这个文档可能详细介绍了如何在BIEE中配置和使用MapView功能,包括设置数据源、创建地图图层、定制地图样式以及集成其他地理信息服务等步骤。 3. **obiee-spatial-20070310.ppt** - 这...
ArcGIS Runtime SDK for Android之MapView方法 MapView 是 ArcGIS Runtime SDK for Android 中的一个核心组件,用于显示和交互地图。它提供了丰富的方法来控制和操作地图的行为。本文档将详细介绍 MapView 中的公有...
在android的mapview上添加浮动按钮,并固定在右下角
这篇博客文章“接触MapView”可能是探讨如何理解和使用这个组件的详细教程。 首先,我们要理解MapView的基本概念。MapView是Android SDK中的一个视图类,它扩展自SurfaceView,并实现了MapView接口。通过使用...