编写这个程序之前需要有一个Google 地图 扩展库在SDK中,一般来说,android 1.5中就已经有了。如果没有的话可以在这里下载:

http://code.google.com/android/add-ons/google-apis

这个 插件 要求android 1.5或者更高的版本。下载后按照自己的环境做相应的调整。
第一步:先建立新的activity名字叫 Android MapView;

第二步:因为我是用的是Google的地图库,而非Android标准库。所以我们先要在AndroidManifest.xml文件<application>中作出声明。

<uses-library android:name="com.google.android.maps" />

第三步:以为这个程序需要实时的从Google地图库中读取信息,所以添加接入Internet权限。在<manifest>中声明:

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

第四步:现在主要的 配置 文件都已经开放给我们。定义一个layout给com.google.android.maps.MapView其中包括android.widget.RelativeLayout :

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/mainlayout"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent" ><com.google.android.maps.MapViewandroid:id="@+id/mapview"android:layout_width="fill_parent"android:layout_height="fill_parent"android:clickable="true"android:apiKey="Your Maps API Key"/>
</RelativeLayout>

Clickable属性决定了用户能否和地图之间进行互动。一次设置成TRUE。apiKey属性中包含了Google地图API密钥,由于MapView使用的是Google地图数据,在此主要是为了获得地图数据。

第五步:打开Java文件。即AndroidMapView.java文件。在这个activity中我们继承了一个特别的类叫做:MapActivity 。
因此将程序开头改成如下形式:
public class AndroidMapView extends MapActivity {
第六步:这里需要一个名叫isRouteDisplayed()的方法,这个方法是必须的。用来获取地图API密匙,一旦获得就会传给上边提到的apiKey这个变量。
Android中提供了一个叫ZoomControls的 控件 对地图来进行放大和缩小处理。
第七步:回到配置文件中来,我们需要一个新的ViewGroup布局器来放置ZoomControls这个控件。

<LinearLayoutandroid:id="@+id/zoomview"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignBottom="@id/mapview"android:layout_centerHorizontal="true"/>

第八步:回到AndroidMapView.java文件中。

LinearLayout linearLayout;MapView mapView;ZoomControls mZoom;

第九步: onCreate()在这个方法中将第八部中定义的变量全部初始化。

linearLayout = (LinearLayout) findViewById(R.id.zoomview);mapView = (MapView) findViewById(R.id.mapview);mZoom = (ZoomControls) mapView.getZoomControls();

第十步:将控件ZoomControls添加到LinearLayout中去。

linearLayout.addView(mZoom);

第十一步:到这我们就可以运行这个程序了。

需要注意的是红色字体部分,很有肯能忘记了填写apikey。如果没有可以参照这一篇《Android开发如何利用Google Maps》自己申请一个。

AndroidMapView.java文件的源码

package android.mapview;import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.ZoomControls;import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;public class AndroidMapView extends MapActivity {/** Called when the activity is first created. */LinearLayout linearLayout;MapView mapView;ZoomControls mZoom;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);linearLayout = (LinearLayout) findViewById(R.id.zoomview);mapView = (MapView) findViewById(R.id.mapview);mZoom = (ZoomControls) mapView.getZoomControls();   linearLayout.addView(mZoom);}@Overrideprotected boolean isRouteDisplayed() {// TODO Auto-generated method stubreturn false;}
}

main.xml文件的源码

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/mainlayout"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent" ><com.google.android.maps.MapViewandroid:id="@+id/mapview"android:layout_width="fill_parent"android:layout_height="fill_parent"android:clickable="true"android:apiKey="your api key"/>
<LinearLayoutandroid:id="@+id/zoomview"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignBottom="@id/mapview"android:layout_centerHorizontal="true"
/>
</RelativeLayout>

AndroiMaifest.xml文件的源码

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="android.mapview"android:versionCode="1"android:versionName="1.0">  <application android:icon="@drawable/map" android:label="@string/app_name"><uses-library android:name="com.google.android.maps" /><activity android:name=".AndroidMapView"android:label="@string/app_name"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application><uses-sdk android:minSdkVersion="3" /><uses-permission android:name="android.permission.INTERNET" /></manifest>

转贴: http://www.pin5i.com/showtopic-android-google-maps-development.html

Android的Google地图开发相关推荐

  1. 取得Google地图开发密钥Api key

    前几天有去山西社会实践了,一路折腾了一周,回来接着弄,但愿还来的及吧,开发时用到google map api,但是要使用界面组件"MapView",我们就要去Google的官网了, ...

  2. Android studio 百度地图开发(3)地图导航

    Android studio 百度地图开发(3)地图导航 email:chentravelling@163.com 工程下载地址:http://blog.csdn.net/chentravelling ...

  3. 用android studio测量距离,Android studio 百度地图开发(6)Marker绑定事件、计算两点距离...

    Android studio 百度地图开发(6)Marker绑定事件.计算两点距离 email:chentravelling@163.com 开发环境:win7 64位,Android Studio, ...

  4. 操作系统:Android(Google公司开发的操作系统)

    ylbtech-操作系统:Android(Google公司开发的操作系统) Android是一种基于Linux的自由及开放源代码的操作系统.主要使用于移动设备,如智能手机和平板电脑,由Google(谷 ...

  5. 基于Android的百度地图开发

    参考资料: android studio获得SHA1的值,然后在百度地图移动版API官网申请key Android Studio怎么查看程序的安全码获取SHA1值? http://www.codese ...

  6. Android studio 百度地图开发(5)查询周边服务(加油站)

    Android studio 百度地图开发(5)查询周边服务(加油站) email:chentravelling@163.com 开发环境:win7 64位,Android Studio,请注意是An ...

  7. Android系统Google Maps开发实例浅析

    Google Map(谷歌地图)是Google公司提供的电子地图服务.包括了三种视图:矢量地图.卫星图片.地形地图.对于Android系统来说,可以利用Google提供的地图服务来开发自己的一些应用. ...

  8. Google地图开发初级篇

    上回我们学习了如何搭建一个google map应用,了解了基础知识,下面我们来深入学习google map中待发掘的宝藏 在这篇文章,我将告诉你 1.   如何创建google地图 2.   Goog ...

  9. android(Google公司开发的操作系统)

    Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发.尚未有统一中文名称,中国大陆地区较多人使用&quo ...

最新文章

  1. C Capture Full IE Document
  2. HttpWebRequest WebResponse 对象简单了解
  3. SpringMVC-Controller怎么直接在页面上传递参数
  4. Shell编程 ——for循环、if语句、sleep睡眠。——每秒钟生成一个文件,一共生成60个文件
  5. win7中能对窗口的排列方法是_win7系统窗口排列方式怎么修改?修改窗口排列方式方法...
  6. leetcode —— 513. 找树左下角的值
  7. 《现代操作系统》精读与思考笔记 第一章 引论
  8. Vue开发总结 及 一些最佳实践 (已更新)
  9. 1023 组个最小数 (20 分)—PAT (Basic Level) Practice (中文)
  10. 最佳的46+14款免费软件
  11. office 2019 visio 2016安装
  12. 计算机辅助园林设计考试题,计算机辅助园林规划设计之软件比较
  13. 二元回归方程matlab,matlab 多元非线性回归方程问题
  14. java智能排线_网友晒别墅的智能家居排线 铺满整面墙 堪比数据中心
  15. mysql 系统默认_mysql之系统默认数据库
  16. SICP读书笔记 2.1
  17. 【Microsoft】Project Oxford
  18. 风险:一些Web3安全工具
  19. 过采样系列二:傅里叶变换与信噪比
  20. 狂神说java之mysql篇(学完可就业+面试)

热门文章

  1. 从分手的挽回成功的真实经历
  2. Github每日精选(第56期):支持多语言的文字识别EasyOCR
  3. PCB设计中屏蔽罩夹子的使用
  4. linux系列之-jar包文件替换
  5. 长安逸动系统升级服务器连接失败,15逸动系统救砖、升级教程
  6. java消息总线ibus_IBUS智能照明总线系统的应用
  7. [ubuntu14.04 amd64 ]搜狗拼音輸入法安裝
  8. spring5之AOP
  9. 嵌入式系统(二):RISC-V处理器1
  10. WWW和WAP的信息流程有什么区别