Android的Google地图开发
编写这个程序之前需要有一个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地图开发相关推荐
- 取得Google地图开发密钥Api key
前几天有去山西社会实践了,一路折腾了一周,回来接着弄,但愿还来的及吧,开发时用到google map api,但是要使用界面组件"MapView",我们就要去Google的官网了, ...
- Android studio 百度地图开发(3)地图导航
Android studio 百度地图开发(3)地图导航 email:chentravelling@163.com 工程下载地址:http://blog.csdn.net/chentravelling ...
- 用android studio测量距离,Android studio 百度地图开发(6)Marker绑定事件、计算两点距离...
Android studio 百度地图开发(6)Marker绑定事件.计算两点距离 email:chentravelling@163.com 开发环境:win7 64位,Android Studio, ...
- 操作系统:Android(Google公司开发的操作系统)
ylbtech-操作系统:Android(Google公司开发的操作系统) Android是一种基于Linux的自由及开放源代码的操作系统.主要使用于移动设备,如智能手机和平板电脑,由Google(谷 ...
- 基于Android的百度地图开发
参考资料: android studio获得SHA1的值,然后在百度地图移动版API官网申请key Android Studio怎么查看程序的安全码获取SHA1值? http://www.codese ...
- Android studio 百度地图开发(5)查询周边服务(加油站)
Android studio 百度地图开发(5)查询周边服务(加油站) email:chentravelling@163.com 开发环境:win7 64位,Android Studio,请注意是An ...
- Android系统Google Maps开发实例浅析
Google Map(谷歌地图)是Google公司提供的电子地图服务.包括了三种视图:矢量地图.卫星图片.地形地图.对于Android系统来说,可以利用Google提供的地图服务来开发自己的一些应用. ...
- Google地图开发初级篇
上回我们学习了如何搭建一个google map应用,了解了基础知识,下面我们来深入学习google map中待发掘的宝藏 在这篇文章,我将告诉你 1. 如何创建google地图 2. Goog ...
- android(Google公司开发的操作系统)
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发.尚未有统一中文名称,中国大陆地区较多人使用&quo ...
最新文章
- C Capture Full IE Document
- HttpWebRequest WebResponse 对象简单了解
- SpringMVC-Controller怎么直接在页面上传递参数
- Shell编程 ——for循环、if语句、sleep睡眠。——每秒钟生成一个文件,一共生成60个文件
- win7中能对窗口的排列方法是_win7系统窗口排列方式怎么修改?修改窗口排列方式方法...
- leetcode —— 513. 找树左下角的值
- 《现代操作系统》精读与思考笔记 第一章 引论
- Vue开发总结 及 一些最佳实践 (已更新)
- 1023 组个最小数 (20 分)—PAT (Basic Level) Practice (中文)
- 最佳的46+14款免费软件
- office 2019 visio 2016安装
- 计算机辅助园林设计考试题,计算机辅助园林规划设计之软件比较
- 二元回归方程matlab,matlab 多元非线性回归方程问题
- java智能排线_网友晒别墅的智能家居排线 铺满整面墙 堪比数据中心
- mysql 系统默认_mysql之系统默认数据库
- SICP读书笔记 2.1
- 【Microsoft】Project Oxford
- 风险:一些Web3安全工具
- 过采样系列二:傅里叶变换与信噪比
- 狂神说java之mysql篇(学完可就业+面试)