Android 集成GoogleMap,实现定位和获取位置信息
1.准备
<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">YOUR_KEY_HERE</string>
compile 'com.google.android.gms:play-services:9.8.0' compile 'com.google.android.gms:play-services-location:9.8.0'
2.代码部分
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_maps);SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);mapFragment.getMapAsync(this);}@Overridepublic void onMapReady(GoogleMap map) {// Add a marker in Sydney, Australia, and move the camera.LatLng sydney = new LatLng(-34, 151);map.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));map.moveCamera(CameraUpdateFactory.newLatLng(sydney));} }
/*** 如果取得了权限,显示地图定位层*/private void enableMyLocation() {if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION)!= PackageManager.PERMISSION_GRANTED) {// Permission to access the location is missing.PermissionUtils.requestPermission(this, LOCATION_PERMISSION_REQUEST_CODE,android.Manifest.permission.ACCESS_FINE_LOCATION, true);} else if (mMap != null) {// Access to the location has been granted to the app.mMap.setMyLocationEnabled(true);}}
public class MainActivity extends ActionBarActivity implementsConnectionCallbacks, OnConnectionFailedListener {...@Overridepublic void onConnected(Bundle connectionHint) {mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);if (mLastLocation != null) {mLatitudeText.setText(String.valueOf(mLastLocation.getLatitude()));mLongitudeText.setText(String.valueOf(mLastLocation.getLongitude()));}} }
public class MainActivity extends ActionBarActivity implementsConnectionCallbacks, OnConnectionFailedListener {protected Location mLastLocation;private AddressResultReceiver mResultReceiver;...protected void startIntentService() {Intent intent = new Intent(this, FetchAddressIntentService.class);intent.putExtra(Constants.RECEIVER, mResultReceiver); //所需参数一,接收处理结果intent.putExtra(Constants.LOCATION_DATA_EXTRA, mLastLocation); //所需参数二 startService(intent);} }
必须在 Google Play services 连接稳定之后启动 intent 服务,所以会在刚刚的onConnected()调用startIntentService()
public class MainActivity extends ActionBarActivity implementsConnectionCallbacks, OnConnectionFailedListener {...@Overridepublic void onConnected(Bundle connectionHint) {// Gets the best and most recent location currently available,// which may be null in rare cases when a location is not available.mLastLocation = LocationServices.FusedLocationApi.getLastLocation( //所需参数二 mGoogleApiClient);if (mLastLocation != null) {// Determine whether a Geocoder is available.if (!Geocoder.isPresent()) {Toast.makeText(this, R.string.no_geocoder_available,Toast.LENGTH_LONG).show();return;}if (mAddressRequested) {startIntentService();}}} }
class AddressResultReceiver extends ResultReceiver {public AddressResultReceiver(Handler handler) {super(handler);}@Overrideprotected void onReceiveResult(int resultCode, Bundle resultData) {// Display the address string// or an error message sent from the intent service.mAddressOutput = resultData.getString(Constants.RESULT_DATA_KEY);displayAddressOutput();// Show a toast message if an address was found.if (resultCode == Constants.SUCCESS_RESULT) {showToast(getString(R.string.address_found));}}}
实例化就能使用了
mResultReceiver = new AddressResultReceiver(new Handler());
转载于:https://www.cnblogs.com/zhujiabin/p/7657714.html
Android 集成GoogleMap,实现定位和获取位置信息相关推荐
- 集成GoogleMap,实现定位和获取位置信息
自学android几个月,前几天粗略学习了下google地图集成,特地记录该文 1.准备 我使用的是AS2.2.2,首先翻墙注册google开发者帐号,准备获取API Key,网上有许多相关资料我就不 ...
- Android开发:基于原生API获取位置信息、卫星信号个数及参与定位的卫星个数
目录 概述 权限申请及开启GPS 调用原生API进行定位 获取设备收到的卫星信号个数 获取用于定位的卫星信号个数 成果图 概述 最近在做室内外无缝定位的相关demo,室外定位中,GNSS定位方法具有精 ...
- Android 获取定位权限,获取位置信息(国家、地区、经纬)
第一步 授权 在 AndroidManifest.xml 中加上位置信息权限按需要添加 <uses-permission android:name="android.permissio ...
- android动态获取地理位置权限,Android6.0获取GPS定位和获取位置权限和位置信息的方法...
1.添加权限--6.0之后要动态获取,下面会说 2.直接上代码,不多说,代码中注释很详细. private static final int BAIDU_READ_PHONE_STATE = 100; ...
- Android使用GoogleMap实现定位与路径检索功能
本文是作者在学习使用Google Map 时的学习笔记,采用的是Kotlin语言编写. 1. Google Map定位 1.1 API KEY创建 1.1.1 手动创建 1.1.2 Android S ...
- Android位置服务介绍,并介绍如何通过LocationManager对象获取位置信息
1.位置服务,英文翻译为Location-Based Services,简称LBS,又称为定位服务或基于位置的服务,融合了GPS定位.移动通信.导航等多种技术,提供与空间位置相关的综合应用服务, ...
- Android 获取位置信息
本文转自:https://juejin.cn/post/6986580983134814216 Android 提供LocationManager等相关API用于获取位置信息. 一.权限申请 1.1 ...
- Android使用GoogleMap实现定位及定位回正
Android使用GoogleMap实现定位及定位回正 关于: 效果图 配置 在Android studio添加对应配置 开始使用 实现定位及定位移动方向 文末 关于: 本篇内容主要介绍如何使用G ...
- android 获取当前坐标,Android获取位置信息的方法
本文实例为大家分享了Android获取位置信息的具体代码,供大家参考,具体内容如下 1.位置服务的简介:位置服务,英文翻译为Location-Based Services,缩写为LBS,又称为定位服务 ...
最新文章
- mysql 从零开始_MySQL从零开始:01 数据库简介
- 网易云游戏来了:手机电脑电视随时接入可玩,高流畅度低延迟,还能跨终端无缝切换...
- springAOP的设计和实现(一)
- ruby gem 本地安装方法
- 全文检索技术介绍与使用方法
- (转) Spring读书笔记-----Spring的Bean之配置依赖
- 数学建模亚太赛优秀论文_2019亚太地区大学生数学建模竞赛志愿者等级评定结果公布!...
- 计算机知识点汇总职高,计算机辅导(知识点汇总) - 慈溪职高 网站首页.doc
- 这些面试题你需要知道
- 基于IDS模型设计的ICS
- js点击第三方广告添加点击事件
- FFmpeg学习(三)-- libavutil 代码组成
- Java人员随机分组
- 【计算机视觉】一个简单易上手的图像分类任务pipeline代码
- 【数模系列】02_三大相关系数+Python代码
- 【AE表达式】下载的模板表达式报错?大多数都是小问题!
- 【文献学习】 2021 Deep-Waveform: A Learned OFDM Receiver Based on Deep Complex Convolutional Networks
- MySql 导入和导出数据
- 【Java Swing探索之路系列】之二:Java Swing布局面板组件
- 千言数据集:文本相似度——数据读取部分