- 浏览: 128855 次
- 性别:
- 来自: 南京
最新评论
-
cenyi2012:
来个图文并茂不是更好。。。
TabHost两种实现方式 -
youlingxifeng:
谢谢了,很受用,你有没有遇到过这样的问题啊build/core ...
Android源码编译全过程 -
flower_is:
不错不错!
Android的selector,背景选择器 -
yang668:
很好 真心的谢谢
反编译apk -
windloverain:
编译2.3的代码需要用1.6的sdk
另外,安装完java s ...
Android源码编译全过程
获取Location Provider:
android location provider有两个
a、LocationManager.GPS_PROVIDER:
对应权限<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
b、LocationManager.NETWORK_PROVIDER:
对应权限<uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION" />
注册一个周期性的位置更新:
这句代码告诉系统,我们需要从GPS获取位置信息,并且是每隔1000ms更新一次,并且不考虑位置的变化。最后一个参数是LocationListener的一个引用,我们必须要实现这个类。
在成功注册了一个周期性坐标更新以后,我们就随时可以通过下面的方法来取得当前的坐标了。
android location provider有两个
a、LocationManager.GPS_PROVIDER:
对应权限<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
b、LocationManager.NETWORK_PROVIDER:
对应权限<uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION" />
private Location getLocationProvider(LocationManager mLocationManager) { //该方法可以根据当前设备情况自动选择哪种provider Location location = null; try { Criteria mcriteria = new Criteria(); mcriteria.setAccuracy(Criteria.ACCURACY_FINE);//设置为最大精度 mcriteria.setAltitudeRequired(false);//不要求海拔信息 mcriteria.setBearingRequired(false);//不要求方位信息 mcriteria.setCostAllowed(true);//是否允许付费 mcriteria.setPowerRequirement(Criteria.POWER_LOW);//对电量要求 //mLocationManager.setTestProviderEnabled(LocationManager.GPS_PROVIDER, true); strLocationProvider = mLocationManager.getBestProvider(mcriteria, true); location = mLocationManager.getLastKnownLocation(strLocationProvider);//获取位置信息 } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return location; }
注册一个周期性的位置更新:
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, locationListener);
这句代码告诉系统,我们需要从GPS获取位置信息,并且是每隔1000ms更新一次,并且不考虑位置的变化。最后一个参数是LocationListener的一个引用,我们必须要实现这个类。
private final LocationListener locationListener = new LocationListener() { public void onLocationChanged(Location location) { //当坐标改变时触发此函数,如果Provider传进相同的坐标,它就不会被触发 // log it when the location changes if (location != null) { Log.i("SuperMap", "Location changed : Lat: " + location.getLatitude() + " Lng: " + location.getLongitude()); } } public void onProviderDisabled(String provider) { // Provider被disable时触发此函数,比如GPS被关闭 } public void onProviderEnabled(String provider) { // Provider被enable时触发此函数,比如GPS被打开 } public void onStatusChanged(String provider, int status, Bundle extras) { // Provider的转态在可用、暂时不可用和无服务三个状态直接切换时触发此函数 } };
在成功注册了一个周期性坐标更新以后,我们就随时可以通过下面的方法来取得当前的坐标了。
Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
//根据经纬度获取GeoPoint对象 private GeoPoint getGeoByLocation(Location location) { // TODO Auto-generated method stub GeoPoint gp = null; try { if (location != null) { double geolat = location.getLatitude() * 1E6; double geolng = location.getLongitude() * 1E6; gp = new GeoPoint((int) (geolat), (int) (geolng)); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return gp; }
//根据输入地址获取GeoPoint对象 private GeoPoint getGeoByAddres(String strSearchAddres) { GeoPoint gp = null; try { if (strSearchAddres != "") { Geocoder mGeocoder = new Geocoder(My_Map.this, Locale.getDefault()); //Geocoder mGeocoder = new Geocoder(My_Map.this, Locale.CHINA); Log.i("[My_Map.getGeoByAddress()]", "***strSearchAddres" + strSearchAddres); List<Address> lstAddres = mGeocoder.getFromLocationName( strSearchAddres, 1); if (!lstAddres.isEmpty()) { Address adsLocation = lstAddres.get(0); double geolat = adsLocation.getLatitude() * 1E6; double geolng = adsLocation.getLongitude() * 1E6; gp = new GeoPoint((int) (geolat), (int) (geolng)); }else{ Log.d(tag, "not found geopoint"); } } } catch (Exception e) { e.printStackTrace(); } return gp; }
//根据GeoPoint获取地址 public String getAddresByGeoPoint(GeoPoint gp) { String str = ""; try { if (gp != null) { Geocoder gc = new Geocoder(My_Map.this, Locale.getDefault()); double geoLat = (int) gp.getLatitudeE6() / 1E6; double geolng = (int) gp.getLongitudeE6() / 1E6; List<Address> lstAddress = gc .getFromLocation(geoLat, geolng, 1); StringBuilder sb = new StringBuilder(); if (lstAddress.size() > 0) { Address adsLocation = lstAddress.get(0); for (int i = 0; i < adsLocation.getMaxAddressLineIndex(); i++) { sb.append(adsLocation.getAddressLine(i)).append("\n"); } sb.append(adsLocation.getLocality()).append("\n"); sb.append(adsLocation.getPostalCode()).append("\n"); sb.append(adsLocation.getCountryName()); } str = sb.toString(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return str; }
//设置地图模式 private void selectViewMode(int mode) { switch (mode) { case 0://街景模式 map.setTraffic(false); map.setSatellite(false); map.setStreetView(true); break; case 1://交通流量 map.setSatellite(false); map.setStreetView(false); map.setTraffic(true); break; case 2://卫星地图 map.setStreetView(false); map.setTraffic(false); map.setSatellite(true); break; } };
//根据经纬度来刷新地图 public void refreshMap() { GeoPoint p = new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6)); map.displayZoomControls(true); mc.animateTo(p); mc.setZoom(intZoomLevel); }
- My_Map.rar (116.3 KB)
- 下载次数: 50
发表评论
-
system挂载为rw
2011-07-28 15:07 2828adb shell #su #mount -o remou ... -
制作TextView的倒影
2011-07-19 13:52 2073package com.javaeye.graphics; ... -
Androkd开发坏境配置以及常用插件
2011-06-21 10:39 1126步骤: 1、安装jdk,并配置环境变量 2、解压android ... -
Android的selector,背景选择器
2011-05-22 11:50 1743首先android的selector是在drawable/xx ... -
PUSH机制
2011-04-20 13:54 13171、长连接 2、Android and XMPP htt ... -
ListView快速滑动搜索
2011-04-14 10:16 1273相关资料: Android-ListView快速滚动示例增加首 ... -
Android源码编译全过程
2011-03-18 09:39 83221, ubuntu 下源码编译 最好切换到root用户下进行操 ... -
测试环境Hosts设置
2011-02-25 18:25 1820设置方法: //启动虚拟手机并更改分区大小为128M emul ... -
Activity的launchMode
2011-01-16 17:02 867请看博客:http://marshal.easymorse.c ... -
android多分辨力支持 密度与分辨力
2010-12-29 15:37 1242关于Android的分辨率支持,为大家翻译官方文档 看世界杯的 ... -
用shape美化控件
2010-12-29 10:34 931如果你对Android系统自带的UI控件感觉不够满意, ... -
Android知识积累
2010-12-28 13:44 1012引用系统资源: android:textColor=& ... -
自定义对话框Dialog
2010-12-16 16:55 1530提醒对话框: 布局文件:alertdialog.xml < ... -
Dialog
2010-12-16 14:45 10981. 创建对话框 1. Showing ... -
Android 文件系统的结构
2010-11-06 22:56 10471、Android 文件系统的结构 Android源码编译后 ... -
DB和File工具类
2010-11-01 15:46 1551DB工具类: import java.io.B ... -
打造自己的动画效果
2010-10-29 14:25 1021当我们的软件基本功能都实现了之后,我们是不是还可以把它做的更好 ... -
画图,Shader Path
2010-10-28 16:42 1272package com.javaeye.android.my; ... -
使用SoundPool播放游戏音效
2010-10-12 15:51 1785在Android开发中我们经常使用MediaPlayer来播放 ... -
获取手机屏幕大小两种方法
2010-10-09 09:16 1000第一种: public Point getDisplayMe ...
相关推荐
对于"标签"中的"GoogleAPI",这指的是Google提供的各种服务接口,如Calendar API、Maps API、Gmail API等。每个API都有其特定的功能,例如,Calendar API可以用来创建、修改日历事件,而Maps API则可以实现地图显示...
在IT行业中,谷歌API(Google ...通过学习和实践这个案例,开发者不仅可以掌握谷歌API的使用,还能了解到如何处理具有复杂结构的国际地址,特别是在英国这样的国家,这对开发全球化的应用程序是非常有价值的。
在IT行业中,API(应用程序接口)是软件系统之间交互的核心工具。...在实际开发中,不断学习和实践是提高API应用能力的关键。如果你在使用过程中遇到问题,可以通过邮件tootwo.love@163.com联系,共同探讨解决方案。
Google Custom Search API是谷歌提供的一项服务,允许开发者自定义搜索引擎并集成到自己的网站或应用程序中。这个API使得用户可以搜索特定领域内的信息,而不仅仅是整个互联网。本实例将重点介绍如何使用C#语言来...
【谷歌离线版API详解】 谷歌离线版API是指能够在没有网络连接的情况下使用谷歌地图服务的接口。在互联网不畅或者需要节省数据流量的场景下,这种API具有很高的实用价值。传统的在线API依赖于实时的网络连接来获取...
通过这个“googleAPI完整版下载”,你可以获得全面的开发指南,学习如何集成和使用这些API,从而开发出具有专业地图功能的应用。记得阅读官方文档,了解最新的更新和最佳实践,以便充分利用谷歌地图API的强大功能。
在基于Android的Google Map API应用设计中,开发者可以利用谷歌提供的API来构建一系列与地理位置相关的功能,极大地丰富了移动应用程序的用户体验。以下是基于这个主题的一些关键知识点: 1. **Android平台**:...
谷歌地图 Google Map API V3 中文开发文档是 Google 公司提供的一种基于 Web 的地图应用程序接口,允许开发者在自己的网站或应用程序中嵌入谷歌地图,以提供地图检索、路线规划、地标显示等功能。本文档旨在为开发者...
谷歌地图API是一个强大的工具,它允许开发者在网页或应用程序中集成地图功能,提供导航、定位、地理编码、标记、信息窗口等丰富的地图交互体验。在这个"google地图API实现的一个简单demo"中,我们将探讨如何使用谷歌...
Google 地图 API 是一款功能强大且广泛应用的 Web 服务,允许开发者在自己的网站中嵌入 Google 地图,添加丰富的功能和交互性,提供更好的用户体验。下面是 Google 地图 API 的基础知识点和重要概念: 1. Google ...
Google Maps API是Google提供的一项强大的服务,允许开发者在自己的应用程序中集成地图功能,进行地理位置相关的开发。这个"Google Maps API编程资源大全"包含了丰富的资料,帮助开发者深入理解和使用这一技术。 ...
谷歌拼音输入法API是谷歌为开发者提供的一种工具,允许他们集成谷歌拼音输入法的功能到自己的应用程序或网站中,提升用户在输入中文时的体验。这个API不仅提供了基本的拼音输入功能,还可能包括智能纠错、词语联想、...
在IT行业中,开发人员经常需要调用各种API来扩展应用程序的功能。...总的来说,Delphi调用谷歌API涉及到网络请求、参数构建、API密钥管理等多个环节,理解这些概念和技术对开发整合地图功能的应用至关重要。
在本文中,我们将深入探讨"Google地图GIS API应用实例",这是基于Google Map平台的地理信息系统(GIS)开发的一个典型案例。对于初学者来说,这是一个很好的起点,能够帮助他们理解和掌握如何利用Google Maps API来...
例如,如果你想在你的应用中集成Google Maps功能,你可能需要下载并导入一个包含Google Maps API的JAR文件。这个文件中包含了地图显示、定位、路线规划等相关的类和接口。 在使用Google API的JAR文件时,通常需要...
在Android平台上,Google Maps API是开发地图应用的重要工具,它允许开发者将强大的地图功能集成到自己的应用程序中。本文将深入探讨如何使用Android和Google Maps API创建一个完整的地图应用。 首先,要使用Google...
这些API允许开发者将Google的功能集成到自己的应用中,实现如地理位置服务、数据存储、搜索结果嵌入等功能。例如,Google Maps JavaScript API可以让开发者在网页上嵌入交互式地图,而Google Cloud Storage API则...
在本项目中,“简单的google map api应用(数据库)”展示了如何结合Google Maps API与数据库技术来实现一个实时的、基于输入查询的地理位置搜索功能。这个功能通常被称为“即敲即得搜索”,允许用户输入关键词后...