最近在做一个安卓地图项目,需要用到世界地图,但国内谷歌基本已经不能用了,这时就需要一个新的开源api,经过别人的介绍才发现了MapBox 这个开源免费的api,加载速度比osm地图要快多了,一下是我碰到的一些问题,希望可以帮到其他的一些人

    int screenWidth = getActivity().getWindowManager().getDefaultDisplay().getWidth();float width = DensityUtils.px2dp(context, screenWidth);zoom = 22 - Math.rint(Math.log(zoomFirst * MERCATOR_RADIUS * Math.PI / (180.0 * width)));thisSourceDateList = MainActivityAll.getSourceDateList();WebSourceTileLayer ws = new WebSourceTileLayer("openstreetmap", "http://tile.openstreetmap.org/{z}/{x}/{y}.png");ws.setName("OpenStreetMap").setAttribution("© OpenStreetMap Contributors").setMinimumZoomLevel(1).setMaximumZoomLevel(21);mMapView.setTileSource(ws);mMapView.setCenter(center);mMapView.setZoom((float) zoom);

这是设置地图的一些基本信息这种 WebSourceTileLayer 方法加载的比默认的加载速度快近一倍,不过就是图层不太好看

  LocationListener locationListener = new LocationListener() {@Overridepublic void onStatusChanged(String provider, int status, Bundle extras) {}@Overridepublic void onProviderEnabled(String provider) {}@Overridepublic void onProviderDisabled(String provider) {}@Overridepublic void onLocationChanged(Location location) {// 更新当前设备的位置信息showLocation(location);}};

这是定位的监听

        LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
//      locationManager.removeUpdates(locationListener);  ondestroy方法移除监听器// 获取所有可用的位置提供器List<String> providerList = locationManager.getProviders(true);String provider;if (providerList.contains(LocationManager.GPS_PROVIDER)) {provider = LocationManager.GPS_PROVIDER;} else if (providerList.contains(LocationManager.NETWORK_PROVIDER)) {provider = LocationManager.NETWORK_PROVIDER;} else {// 当没有可用的位置提供器时,弹出Toast提示用户Toast.makeText(context, "No location provider to use",Toast.LENGTH_SHORT).show();return;}Log.e("location", provider);Location location = locationManager.getLastKnownLocation(provider);if (location != null) {// 显示当前设备的位置信息showLocation(location);}locationManager.requestLocationUpdates(provider, 5000, 1, locationListener);

在官方的api看的好麻烦啊

MapViewListener mapViewListener = new MapViewListener() 

实例化他的接口,可以监听手势在地图的操作

mMapView.addListener(mapListener);
这个方式可以实例化他的地图图层变化,第一次碰到这种add的,找了我好久
一些地图功能这些方式基本可以实现了,还有一些设置markdr的 ,划线的demo上有,就不一一举例了
这是项目的demo,适合初学者必看文档方便多了http://download.csdn.net/download/zhayunbiao/9968836
这个项目还有很多不懂得地方,希望有懂得人可以交流交流
联系QQ:1925413099

android MapBox地图基于openstreetmap开发相关推荐

  1. [android] 百度地图开发 (一).申请AK显示地图及解决显示空白网格问题

        最近做android百度地图,但是使用baidumapapi_v2_3_1.jar和libBaiduMapSDK_v2_3_1.so显示百度地图时总是遇到问题--只显示网格而没有显示地图,网络 ...

  2. android美食app设计图,基于位置的Android美食地图应用的设计与实现

    摘要: 随着近些年移动互联网的迅猛发展和智能手机的普及,手机应用迎来于广阔的发展空间,移动LBS应用应运而生.传统的位置服务主要以网页或单机的形式实现,已无法满足用户日益增长的移动需求.而移动LBS应 ...

  3. android 地球坐标 火星坐标系,Android LBS地图开发:地球地理GPS坐标系经纬度偏移偏差...

    Android LBS地图开发基础知识之地球地理GPS坐标系经纬度偏移偏差 通常,我们所说的地球地理经纬度是WGS-84坐标系(World Geodetic System-1984 Coordinat ...

  4. 在iOS中进行Mapbox地图开发杂谈

    最近因项目需要,在app中要集成Mapbox,并且要能与苹果地图切换使用.从最早认识Mapbox到最终集成完毕,中间有一些断断续续,但总的时间也不算短了,关于这方面的资料其实是比较少的,能参考的基本都 ...

  5. 基于android的地图毕业设计,基于android百度地图应用系统_毕业设计.docx

    基于android百度地图应用系统_毕业设计 南京晓庄学院2015届本科毕业论文 分类号: 学校代码:11460 学 号南京晓庄学院本科生毕业设计 基于Android平台和百度地图的应用系统 Appl ...

  6. android百度地图调用animateto 会报空指针异常,基于Android的百度地图应系统毕业设计.docx...

    基于Android的百度地图应系统毕业设计 分类号: 学校代码:11460 学 号南京晓庄学院本科生毕业设计 基于Android平台和百度地图的应用系统 Application system base ...

  7. [android] 百度地图开发 (三).定位当前位置及getLastKnownLocation获取location总为空问题

           前一篇百度地图开发讲述"(二).定位城市位置和城市POI搜索",主要通过监听对象MKSearchListener类实现城市兴趣点POI(Point of Intere ...

  8. Android 手机地图开发-高德地图问题

    高德地图地址:http://code.autonavi.com 示例程序及SDK下载地址 如何获取AutoNavi MAP API密钥 AutoNavi提供的地图通过MapView对象进行显示.Map ...

  9. Android LBS地图开发:地球地理GPS坐标系经纬度偏移偏差

    本文作者:ZhangPhil 欢迎各位转载!但请注明转载出处: http://blog.csdn.net/zhangphil/article/details/48024831 Android LB ...

最新文章

  1. 转:python 实现GUI(图形用户界面)编程
  2. latex的资料ftp
  3. Azure认知服务之使用墨迹识别功能识别手写汉字
  4. Object的方法equals,hashCode,toString,clone。另外Comparable接口的方法
  5. python匿名函数调用_python中引用局部变量的匿名函数
  6. 2017-03-01 Oracle10g的安装与配置使用
  7. 佳能Canon MF4700 一体机驱动
  8. w10桌面计算机图标箭头去除,win10专业版电脑桌面图标箭头快速去掉技巧
  9. R语言|根据列名提取/筛选列的两种方法
  10. BigSur下Safari14.1.1安装油猴插件(Tampermonkey)
  11. Intellij IDEA中使用git命令窗口
  12. thingsboard
  13. 数据仓库的项目的概况
  14. 逐帧动画和补间动画的区别于各自的优缺点
  15. 深度Linux 安装英伟达闭源驱动,deepin20 安装英伟达闭源驱动的步骤详解
  16. 职场指南,如何当一个不背锅的人?
  17. 互联网数字营销广告管理平台应用
  18. xp系统扫描仪服务器,通过系统自带的扫描仪向导获取图片(适用于WinXP)
  19. 不管怎样,苹果公司仍然是全球最有价值的公司
  20. 操作系统--I/O管理

热门文章

  1. html 的描点链接
  2. matlab推导二体问题,二体问题二体问题.ppt
  3. 【MFC】学生数据管理-广州大学程序设计课程设计报告
  4. csr867x入门之串口数据收发(二)
  5. ubuntu安装bochs别忘了bochs-x
  6. iTOP-4418开发板Linux系统移植modbus-arm的测试程序
  7. 阿里云ubuntu用vi创建并运行.c文件
  8. 团队主义时代的商业领袖们
  9. 医药之家:医疗器械龙头企业排名变动,11家中国企业入选全球百强!
  10. 没文化真可怕(一些互联网职位)