重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

android地图开发,android studio地图开发

Android Google Map 开发步骤 & 地图展示空白问题

年初时候开发了一版Google Map 地图展示店铺地址并标注点击详情,当初完整的上线Google Play 之后就没有关注过。

为南召等地区用户提供了全套网页设计制作服务,及南召网站建设行业解决方案。主营业务为成都网站建设、成都网站设计、南召网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

具体原因就是因为忘替换Google Map AppKey ...

而且上线Google Play 商店会有一个新的 应用凭证签署凭证,与打包上传Release 版凭证是有区别的。在Google Play 发布后使用 地图管理配置的 AppKey 的SHA1值 需要使用这个才能正常展示!!

以下几个流程,最实在的就是看官方SDK了,查看官方的栗子一顿狂撸!

栗子使用官方Demo 必备,一般就是先玩玩Demo 查看你想要的功能再进行移植定制等

进去查看 最新的地图服务版本依赖,添加至build.gradle

Google Maps Description in build.gradle

要去Google APIs 管理平台创建一个工程项目,创建凭证 申请配置 API KEY

切记别忘记开启,否则你对应账号项目中配置的APPKEY 没有开启服务 根本在应用上看不到地图!

申请之后的 Key 放入 AndroidManifest.xml 文件中

XML

以上来自官方栗子

上架后 要注意 使用 配置 商店配置的 SHA1值, 建议配置 debug + release + 上传后的 SHA1值 一起配置 ,否则展示空白滴!

所以一般不显示地图的问题, 要么是 APPKEY 配置 SHA1值的问题,要么就是没有启用地图 API 。

android百度地图怎么开发

一、基本概念:

(一)、百度地图:

百度地图 Android SDK是一套基于Android 2.1及以上版本设备的应用程序接口。 您可以使用该套 SDK开发适用于Android系统移动设备的地图应用,通过调用地图SDK接口,您可以轻松访问百度地图服务和数据, 构建功能丰富、交互性强的地图类应用程序。

百度地图Android SDK提供的所有服务是免费的,接口使用无次数限制。您需申请密钥(key)后, 才可使用百度地图Android SDK。

(二)、LBS:(Location based Service)基于位置的服务

基于位置的服务,它是通过电信移动运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标),在地理信息系统(外语缩写:GIS、外语全称:Geographic Information System)平台的支持下,为用户提供相应服务的一种增值业务。

二、百度地图使用步骤:【参照()】

(一)、HelloBaiduMap:

1、第一步:申请百度地图密钥(API_KEY):

2、第二步:在工程里新建libs文件夹,将开发包里的baidumapapi_vX_X_X.jar拷贝到libs根目录下,将libBaiduMapSDK_vX_X_X.so拷贝到libs\armeabi目录下(官网demo里已有这两个文件,如果要集成到自己的工程里,就需要自己添加),拷贝完成后的工程目录如下图所示;

注:liblocSDK3.so和locSDK_3.1.jar为百度定位SDK所使用资源,开发者可根据实际需求自行添加。

3、第三步:在AndroidManifest中添加开发密钥、所需权限等信息;

application

meta-data

android:name="com.baidu.lbsapi.API_KEY"

android:value="P3G69b5s87YG5M31f8A7oyLW"/

/application

uses-permissionandroid:name="android.permission.GET_ACCOUNTS"/

uses-permissionandroid:name="android.permission.USE_CREDENTIALS"/

uses-permissionandroid:name="android.permission.MANAGE_ACCOUNTS"/

uses-permissionandroid:name="android.permission.AUTHENTICATE_ACCOUNTS"/

uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/

uses-permissionandroid:name="android.permission.INTERNET"/

uses-permissionandroid:name="com.android.launcher.permission.READ_SETTINGS"/

uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE"/

uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/

uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/

uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/

uses-permissionandroid:name="android.permission.BROADCAST_STICKY"/

uses-permissionandroid:name="android.permission.WRITE_SETTINGS"/

uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/

4、第四步:在布局文件中添加地图控件:

com.baidu.mapapi.map.MapView

android:id="@+id/mapView"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:clickable="true"/

5、第五步:在应用程序创建时初始化 SDK引用的Context 全局变量:

protectedvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// 在使用SDK各组件之前初始化context信息,传入ApplicationContext

// 注意该方法要再setContentView方法之前实现

SDKInitializer.initialize(getApplicationContext());

// 装载布局文件

setContentView(R.layout.activity_main);

}

6、第六步:创建地图Activity,管理地图生命周期:

publicclass MainActivity extends Activity {

private MapView mapView;

@Override

protectedvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// 在使用SDK各组件之前初始化context信息,传入ApplicationContext

// 注意该方法要再setContentView方法之前实现

SDKInitializer.initialize(getApplicationContext());

// 装载布局文件

setContentView(R.layout.activity_main);

mapView = (MapView) findViewById(R.id.mapView);

}

@Override

protectedvoid onResume() {

super.onResume();

mapView.onResume();

}

@Override

protectedvoid onPause() {

super.onPause();

mapView.onPause();

}

@Override

protectedvoid onDestroy() {

super.onDestroy();

mapView.onDestroy();

}

}

(二)、基础地图:

1、实现基础地图的操作步骤:

布局文件中使用MapView;

初始化SDK,并检查Key的合法性;

SDKInitializer.initialize(getApplicationContext());

checkKEY();

初始化BaiduMap对象;

对MapView进行findViewById();

MapView对象调用getMap(),返回BaiduMap;

设置BaiduMap;

setMapType();

setTrafficEnabled();

(三)、POI搜索:

1、实现POI搜索的操作步骤:

布局文件中使用fragment,用来实现对BaiduMap的加载;

class="com.baidu.mapapi.map.SupportMapFragment"

当前Activity继承于FragementActivity;

初始化SDK,并检查Key的合法性;

SDKInitializer.initialize(getApplicationContext());

checkKEY();

备注:该两句话必须放在setContentView()之前。

初始化BaiduMap对象;

baiduMap = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.fragment_poi_map)).getBaiduMap();

初始化PoiSearch对象;

PoiSearch.newInstance();

给PoiSearch对象设置监听器;

setOnGetPoiSearchResultListener(),重写onGetPoiResult()方法;

自定义PoiOverlay类,实现对每个标记的单击监听;

通过onPoiClick()方法,获取每个PoiInfo中的信息。如果这个对象中包含有明细,可以打开一个新页面来展示兴趣点的详细介绍。

在AndroidManifest.xml文件中配置PlaceCaterActivity页面;

该页面是Baidu提供的POI的明细介绍页面。

PoiSearch对象调用searchInBound()、searchInCity() 、 searchNearby()方法实现兴趣点查询。

【总结:】核心步骤:

实例化BaiduMap,PoiSearch对象;

PoiSearch对象设置OnGetPoiSearchResultListener()监听;

PoiSearch对象调用searchInCity()方法触发监听。

(四)、线路规划:

1、实现路线规划的操作步骤:

布局文件中使用MapView,用来实现对BaiduMap的加载;

初始化SDK,并检查Key的合法性;

SDKInitializer.initialize(getApplicationContext());

checkKEY();

初始化MapView;

调用findViewById()

初始化BaiduMap对象;

baiduMap = MapView对象.getMap();

初始化RoutePlanSearch对象;

RoutePlanSearch.newInstance();

给RoutePlanSearch对象设置监听器;

setOnGetRoutePlanResultListener(),重写onGetWalkingRouteResult()、onGetTransitRouteResult()、onGetDrivingRouteResult()方法;

自定义三种RouteOverlay类(WalkingRouteOverlay、TransitRouteOverlay、DrivingRouteOvelray);

调用RoutePlanSearch对象的三种方法(drivingSearch()、transitSearch()、walkingSearch())实现路线规划。

【总结:】核心步骤:

实例化BaiduMap,RoutePlanSearch对象;

RoutePlanSearch对象设置OnGetRoutePlanResultListener监听;

RoutePlanSearch对象调用drivingSearch()、transitSearch()、walkingSearch()方法触发监听。

(五)、公交查询:

1、实现公交查询的操作步骤:

布局文件中使用fragment,用来实现对BaiduMap的加载;

class="com.baidu.mapapi.map.SupportMapFragment"

初始化SDK,并检查Key的合法性;

SDKInitializer.initialize(getApplicationContext());

checkKEY();

当前Activity继承于FragementActivity;

初始化BaiduMap对象;

baiduMap = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.fragment_poi_map)).getBaiduMap();

初始化PoiSearch对象/初始化BusLineSearch对象;

PoiSearch.newInstance();

BusLineSearch.newInstance();

给BusLineSearch对象设置监听器;

setOnGetBusLineSearchResultListener(),重写onGetBusLineResult()方法;

给PoiSearch对象设置监听器;

setOnGetPoiSearchResultListener(),重写onGetPoiResult()方法;

在这个监听器中调用BusLineSearch对象的searchBusLine()方法;

给按钮增加单击监听事件,实现PoiSearch对象的searchInBound()、searchInCity() 、 searchNearby()方法实现兴趣点查询。

【总结:】核心步骤:

实例化BaiduMap、PoiSearch对象及BusLineSearch对象;

PoiSearch对象设置OnGetPoiSearchResultListener()监听;BusLineSearch对象设置OnGetBusLineSearchResultListener监听;

在PoiSearch对象的监听回调方法onGetPoiResult()中调用busLineSearch对象的searchBusLine()方法;

PoiSearch对象调用searchInCity()方法触发整个监听。

【备注:】

整体思路:先调用POI查询,在POI查询中的监听器中执行BusLine查询。

Android 第三方 SDK 之 高德地图(一)

高德地图 Android SDK 是一套地图开发调用接口,开发者可以轻松地在自己的Android应用中加入地图相关的功能,包括:地图显示(含室内、室外地图)、与地图交互、在地图上绘制、兴趣点搜索、地理编码、离线地图等功能。

点我获取Key

如何申请 Key

2.2 将 jar 包放入 libs 目录下。然后 右键-选择 Add As Library,导入到工程中。


网站标题:android地图开发,android studio地图开发
分享路径:http://cqcxhl.cn/article/dscdego.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP