`
jiasanshou
  • 浏览: 17557 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

android google map 的简单使用

 
阅读更多

Google map 是android platform中众多应用程序中的一员。

在移动开发中有两种方法使用google map。

第一种是使用web版本的map.实际实现是通过发送链接google 地图网站的intent,启动浏览器访问googlemap.没多大用处。

注意:使用此方法需在AndroidManifest.xml中加入相应的访问权限
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />

第二种就是使用google map jar 包的开发。通过创建MapActivity,并使用MapView来呈现地图。

注意:使用此方法需在AndroidManifest.xml中加入相应的访问权限

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>

GoogleMap library:

1)MapView:

Mapview是用来显示地图的view。当MapView获得焦点,可以控制地图的移动和缩放。

地图可以以不同的形式来显示出来,如街景模式,卫星模式等,通过setSatellite(boolean) setTraffic(boolean), setStreetView(boolean) 方法。

MapView只能被MapActivity来创建,这是因为mapview需要通过后台的线程来连接网络或者文件系统,而这些线程要由mapActivity来管理。

需要特别说明的一点是,从android 1.5开始,map的zoom采用了built-in机制,可以通过setBuiltInZoomControls(boolean)来设置是否在地图上显示zoom控件。

常用方法:getController() getOverlays() setSatellite(boolean) setTraffic(boolean), setStreetView(boolean) setBuiltInZoomControls(boolean) 等。

2)MapActivity:

MapActivity是一个抽象类,任何想要显示MapView的activity都需要派生自MapActivity。并且必须在其派生类的 onCreate()中,创建一个MapView实例,可以通过new MapView 或者通过layout XML来创建。
3)MapController
控制地图移动,伸缩,以某个GPS坐标为中心,控制MapView中的view,管理Overlay,提供View的基本功能。使用多种地图模式(地图模式(某些城市可实时对交通状况进行更新),卫星模式,街景模式)来查看Google Map。
常用方法:animateTo(GeoPoint point)setCenter(GeoPoint point)setZoom(int zoomLevel) 等。

4)Overlay

Overlay是覆盖到MapView的最上层,可以扩展其ondraw()接口,自定义在MapView中显示一些自己的东西。MapView通过MapView.getOverlays()对Overlay进行管理。

除了Overlay这个基类,Google还扩展了2个比较有用的Overlay

1.MylocationOverlay—集成了Android.location中接收当前坐标的接口,集成SersorManager中CompassSensor的接口

我们只需要enableMyLocation(),enableCompass就可以让我们的程序拥有实时的MyLocation以及Compass 功能(Activity.onResume()中)。

2.ItemlizedOverlay—管理一个OverlayItem链表,用图片等资源在地图上作风格相同的标记。

5)Projection:MapView中GPS坐标与设备坐标的转换(GeoPoint和Point)。
另外:

android.location包下的Geocoder类可以实现街道地址与经纬度之间的转换。

效果图:

注:代理问题不能展示地图。实际可以。

XML Layout:

源代码:

参考博客:

http://blog.csdn.net/L_serein/archive/2011/01/07/6122136.aspx

http://blog.csdn.net/mtawaken/archive/2010/12/17/6081886.aspx

分享到:
评论

相关推荐

    安卓 谷歌地图 演示源码android google map

    安卓 android google map 谷歌地图

    Android Google map使用

    Android Google map使用,Android Google map使用

    Android google map API例子

    Android google map API例子

    android google map 导航

    一旦得到路线信息,可以在地图上绘制路径,使用`PolylineOptions`和`GoogleMap.addPolyline()`方法。 总的来说,实现Android上的Google Map导航功能涉及以下几个关键步骤: 1. 添加Google Play Services依赖 2. ...

    android google map 应用

    在Android布局文件中添加MapView组件,通过设置API密钥和初始化GoogleMap对象,可以实现在应用中展示地图。同时,可以通过调整Zoom级别来控制地图的缩放程度,使用CameraPosition和CameraUpdateFactory来改变视图...

    android GoogleMap定位(四)

    本篇将详细探讨如何在Android应用中使用GoogleMap进行定位。 首先,我们需要在项目中引入Google Play Services库,这是GoogleMap API的基础。在`build.gradle`模块文件中添加依赖: ```groovy dependencies { ...

    google-Map.zip_android_android google map_android map_google map

    public void onMapReady(GoogleMap googleMap) { // 这里可以进一步配置地图,比如设置缩放级别、启用定位等 } }); ``` 不忘在其他生命周期方法(如onResume(), onPause(), onDestroy())中调用对应的方法。 ...

    轨迹记录 android google map 应用

    "android"标签表明了这是关于Android平台的开发内容,而"googleMap"则指明了主要涉及Google Maps服务。在Android应用中集成Google Maps,开发者需要在Google Cloud Console创建项目,获取API密钥,然后在...

    android google map example

    googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); // 开启定位功能 if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) { ...

    申请Android Google Map API key

    申请Android Google Map API key

    Android google map开发

    压缩包包含play-services-maps-16.1.0.aar/play-services-places-15.0.1.aar/play-services-location-15.0.1.aar/android-maps-utils-0.5.aar 等...

    Android_Google_Map.rar_Google api_android_android google map_and

    googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); LatLng sydney = new LatLng(-34, 151); MarkerOptions markerOptions = new MarkerOptions().position(sydney).title("悉尼"); googleMap.addMarker...

    Android中获取当前位置的经纬度,并在Google Map Android v2显示

    实现通过GPS或NetWork获取当前位置的经纬度,并且在Google Map Android v2上显示

    Android结合googlemap应用开发

    在Android应用开发中,结合Google Map提供路径查询和导航功能是一项常见的需求。本文将详细介绍如何在Android设备上实现这一功能,主要涉及Google Directions API的使用和解析返回的路线数据。 首先,Google ...

    android GoogleMap开发基础

    本文将详细介绍如何进行Android GoogleMap开发的基础设置,包括必要的配置和代码实现。 首先,你需要在Android SDK Manager中下载Google Play Services SDK。这通常位于Extras目录下,下载完成后,你将在SDK目录的...

    android Google map 定位程序

    public void onMapReady(GoogleMap googleMap) { map = googleMap; map.setMapType(GoogleMap.MAP_TYPE_NORMAL); LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); ...

    Android google Map入门

    ### Android Google Map 入门详解 #### 一、准备工作 要想成功地开发一款基于Google Maps的应用程序,首先需要确保你的开发环境已经准备妥当。这包括申请必要的API密钥、设置正确的开发环境以及确保所有所需的组件...

    Android google map apiv2的最新申请密钥方式

    googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); googleMap.getUiSettings().setZoomControlsEnabled(true); } }); ``` 4. **添加标记和路径**: - 添加标记(Marker): ``` MarkerOptions ...

    Android googlemap 初学

    在这里,你可以获取到GoogleMap对象,进一步操作地图,例如设置初始位置、缩放级别,或者添加标记。 关于GPSTest,这是一个常见的Android GPS测试应用的名字,它通常用于测试设备的GPS接收器功能。在Android中,你...

    android map的使用

    ##### 2.1 编写最简单的Android谷歌地图应用 1. **创建新的Android项目**:选择Google Maps Activity模板。 2. **配置Google Maps API**:确保你的API密钥已经正确配置在项目的`strings.xml`文件中。 3. **显示地图...

Global site tag (gtag.js) - Google Analytics