




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
注册 android 地图 api 密钥运行:keytool -list -keystore /.android/debug.keystore用得到的md5码到/intl/zh-cn/android/maps-api-signup.html注册api密钥。参考:/feisky/archive/2010/01/17/1650083.html 注册完成后会得到如下的网页:您的密钥是:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx此密钥适用于所有使用以下指纹所对应证书进行验证的应用程序:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx下面是一个 xml 格式的示例,帮助您了解地图功能:模拟器设置建 立一个google inc.:google apis:3的模拟器。手机终端需要支持google add-ons作为与google合作 的手机终端的制造商,如果想在自己的android终端中集成google的一些应用,例如map,market,picasa,sync等,需要和google签约,这样google会有专人帮你将这一系列服务整合到你的平台中来。作为没有和google合作 的手机终端的制造商,我们可以使用破解的方法将add-ons中的运行库整合到自己的framework中来(build到手机终端的system.img中)。操作如下:1. 在android中,额外支持googleadd-ons(google maps),需要将如下档案(从标准的sdk中pull出来的,也可以从gphone中pull出来)打包进system.img。googleadd-ons只需要1-2,goolge maps(google的地图程序) 需要1-5:1)system/framework com.google.android.maps.jar2)system/etc/permissions com.google.android.maps.xml3)system/framework com.google.android.gtalkservice.jar4)system/etc/permissions com.google.android.gtalkservice.xml5)system/app maps.apk (google maps v3.0)2.源码:android cupcake release(经测试,在donut平台同样适用。)1)编译源码(为了生成out/target目录中android最原始的东西)2)将以上文件加入out/target/product/generic相应目录,在源码根目录使用make snod打包,获得新的system.img权限和maps库设置在manifest.xml中设置全相应的权限,比如: 在manifest.xml中加上要用的maps库: . . .maps库分析maps库提供了十几个类,具体可以参考这里/intl/ja/android/add-ons/google-apis/reference/index.html,包括mapview,mapcontroller,mapactivity等。(1)mapcontroller控制地图移动,伸缩,以某个gps坐标为中心,控制mapview中的view组件,管理overlay,提供view的基本功能。使用多种地图模式(地图模式(某些城 市可实时对交通状况进行更新),卫星模式,街景模式)来查看google map。常 用方法:animateto(geopoint point) setcenter(geopoint point) setzoom(int zoomlevel) 等。(2)mapviewmapview是 用来显示地图的view, 它派生自android.view.viewgroup。当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)等。(3)mapactivity管理activity的生命周期,为mapview建立及取消对map service的连接。mapactivity是一个抽象类,任何想要显示mapview的activity都 需要派生自mapactivity。并且在其派生类的oncreate()中,都要创建一个mapview实例,可以通过mapviewconstructor (然后添加到view中viewgroup.addview(view) 或者通过layout xml来创建。(4)overlayoverlay是覆盖到mapview的最上层,可以扩展其ondraw接口,自定义在mapview中显示一些自己的东西。mapview通过mapview.getoverlays()对overlay进行管理。除了overlay这个基类,google还扩展了2个比较有用的overlay1)mylocationoverlay集成了android.location中接收当前坐标的接口,集成sersormanager中compasssensor的接口我们只需要enablemylocation(),enablecompass就可以让我们的程序拥有实时的mylocation以及compass 功能(activity.onresume()中)。2)itemlizedoverlay管理一个overlayitem链表,用图片等资源在地图上作风格相同的标记。(5)projection:mapview中gps坐标与设备坐标的转换(geopoint和point)。一个简单的小例子用一个小程序来演示一下android中地图功能的开发。主要 功能是实现了地图的缩放,添加了菜单,从而可以手动选择地图的显示模式等。step1: 新建一个android project, 注意这里要选择的buildtarget为googleapisstep 2: 修改menifest文件: step 3: 修改layout文件,main.xml 这里需要将api key中的?改成你自己申请到的api key. step4: 修改代码:package feisky.navigation;import com.google.android.maps.geopoint;import com.google.android.maps.mapactivity;import com.google.android.maps.mapcontroller;import com.google.android.maps.mapview;import android.app.alertdialog;import android.app.dialog;import android.content.dialoginterface;import android.os.bundle;import android.view.keyevent;import android.view.menu;import android.view.menuitem;public class mainactivity extends mapactivity / 地图显示控制相关变量定义private mapview map=null;private mapcontroller mapcon;/ 菜单项final private int menumode=menu.first;final private int menuexit=menu.first+1;private int chooseitem=0; /* called when the activity is first created. */ override public void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.main); / 获取mapview map=(mapview)findviewbyid(r.id.map); / 设置显示模式 map.settraffic(true); map.setsatellite(false); map.setstreetview(true); / 设置可以缩放 map.setbuiltinzoomcontrols(true); / 设置初始地图的中心位置 geopoint geobeijing=new geopoint(int)(39.95*1000000), (int)(116.37*1000000); mapcon=map.getcontroller(); mapcon.setcenter(geobeijing); overridepublic boolean oncreateoptionsmenu(menu menu) / 建立菜单 menu.add(0,menumode,0,地图模式);menu.add(0, menuexit, 1, 退出);return super.oncreateoptionsmenu(menu);overridepublic boolean onkeydown(int keycode, keyevent event) return super.onkeydown(keycode, event);overridepublic boolean onmenuitemselected(int featureid, menuitem item) switch (item.getitemid() case menuexit:finish();break;case menumode:dialog dmode=new alertdialog.builder(this).settitle(地图模式设置).setsinglechoiceitems(r.array.mapmode, chooseitem, new dialoginterface.onclicklistener()overridepublic void onclick(dialoginterface dialog, int which) chooseitem=which;).setpositivebutton(确定, new dialoginterface.onclicklistener()overridepublic void onclick(dialoginterface dialog, int which) switch (which) case 0:map.setsatellite(true);/map.settraffic(false);/map.setstreetview(false);break;case 1:/map.setsatellite(false);map.settraffic(true);/map.setstreetview(false);break;case 2:/map.setsatellite(false);/map.settraffic(false);map.setstreetview(true);break;default:break;).set
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省巴中市普通高中2023级“零诊”考试物理试题(含答案)
- 2025届北京市东城区化学九年级第一学期期中经典试题含解析
- 多囊卵巢综合症的护理
- 湖北省武汉青山区七校联考2026届九上化学期中调研试题含解析
- 电力变送器培训
- 2026届湖北省宜昌市当阳市化学九年级第一学期期中教学质量检测试题含解析
- 浙江杭州余杭区2026届英语九上期末综合测试模拟试题含解析
- 2026届山东省烟台龙口市九上化学期中达标测试试题含解析
- 贵州省黔东南州麻江县2026届化学九上期中学业质量监测模拟试题含解析
- 第二部分 第十一章 第55课时 区域发展对交通运输布局的影响(重难课时)2026年高考地理第一轮总复习
- 中国血脂管理指南(基层版+2024年)解读
- 分子诊断技术在感染性疾病中的应用-深度研究
- 《智能AI分析深度解读报告》课件
- 行测5000题电子版2025
- 《规训与惩罚》课件
- 【MOOC】声乐作品赏析与演唱-扬州大学 中国大学慕课MOOC答案
- 2024年版机电产品国际招标标准招标文件
- 糖尿病高血压健康教育
- 铜府字202322号铜鼓县革命文物保护利用专项规划(公布稿)
- 企业员工心理健康与欺凌防范政策
- 平面构成中的形式美法则
评论
0/150
提交评论