背景

百度地图的默认中心点是在正中心,但产品设计时常会在地图上方覆盖一层业务功能所需的元素,就要求地图的中心点往上偏移,否则就可能会被页面其他元素遮挡,需求示意图:

示例图.png

解决思路

百度提供MapStatus.Builder类提供了target和targetScreen两个方法,target的参数是一个经纬度点,targetScreen的参数则是设备屏幕上的一个点,我们就利用targetScreen来实现。

参考代码

原本移动目标坐标点到地图中心点的代码:

//latitude和longitude为需要移动到地图中心的坐标点的经纬度

LatLng latLng = new LatLng(latitude, longitude);

MapStatus mapStatus = new MapStatus.Builder().target(latLng).build();

mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(mapStatus));

先设置地图中心点偏移,再移动目标坐标点:

//300和500分别为需要设置的中心点的屏幕X和Y轴位置

//可以通过屏幕宽高后按需计算获得,也可以根据layout文件中某个View(如大头针图标)的位置而获得,按需

Point p = new Point(300, 500);

//告诉地图中心点不再是中心,而是p的位置

MapStatus mapStatus = new MapStatus.Builder().targetScreen(p).build();

mBaiduMap.setMapStatus(MapStatusUpdateFactory.newMapStatus(mapStatus));

//latitude和longitude为需要移动到地图中心的坐标点的经纬度

LatLng latLng = new LatLng(latitude, longitude);

mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newLatLng(latLng));

注意:

targetScreen方法为设置地图操作中心点在屏幕的坐标, 但只有在 OnMapLoadedCallback.onMapLoaded() 之后设置才生效,参考:

mBaiduMap.setOnMapLoadedCallback()

参考资料

android 百度地图 点标记偏移,百度地图设置中心点偏移(中心点不被页面其他元素遮挡)...相关推荐

  1. android 获取定位坐标,在百度地图出现大偏移的处理办法

    问题现象: 通过android原生api获取到gps坐标,调用百度的地图api在手机上显示时,发现偏移距离超过1KM. android获取定位坐标的代码,网上很多不再粘贴. 问题分析: android ...

  2. android 百度地图3.0定位,百度地图定位功能实现v3_0_0

    对于初学者来说,首先得先注意,不同的jar版本,方法也不同,之前不知道,纠结了很久 xml布局 android:layout_width="match_parent" androi ...

  3. H5使用百度地图SDK获取用户当前位置并且标记显示在地图

    代码实现功能: H5使用百度地图SDK获取用户当前位置并且标记显示在地图,点击该标记弹出一层自定义的HTML. 效果图: 代码: <!DOCTYPE html> <html>& ...

  4. 百度地图显示服务器地址,百度地图_根据地图上标记位置获取街道信息,以及经纬度信息...

    百度地图Demo var map = new BMap.Map("container");//初始化地图 map.addControl(new BMap.NavigationCon ...

  5. 百度地图中心点偏移-Javascript

    百度地图中心点偏移-Javascript 功能介绍: 整体思路: 具体实现: 一.变更代码执行顺序: 二.map.panBy: 功能介绍: 本文记录了百度地图BMap实现中,出现中心点偏移问题解决方法 ...

  6. html中怎么给地图添加标记,百度地图中怎么添加旗帜标记?

    感谢您的收看,我们在游玩,或因为工作等等原因,都有用到地图的时候,然而,电子地图的使用不仅方便了许多,而且,位置信息也更加的全面,特别是在电脑上看地图由于屏幕大,就更是好 1.首先,在浏览器中搜索百度 ...

  7. Android 跳转到高德、百度、腾讯地图进行导航

    需求: 点击店铺位置,弹出popupwindow进行选择 如果该手机安装了所选的地图APP,就跳转到该地图APP中 如果该手机未安装所选的地图APP,就提示 MapUtil工具类 import and ...

  8. android 高德卫星地图数据,白马地图 Bmap for Android v7.3.81 强大高德百度地图应用|张小北...

    Bmap for Android 是一款集成高德地图百度地图为一体的第三方地图应用APP,Bmap for Android 又叫白马地图,采用高德/百度地图数据引擎,可任意切换百度地图.高德地图数据源 ...

  9. android 跳转腾讯地图导航,Android 跳转到百度、高德、腾讯地图导航

    项目中遇到的一个需求,跳转外部App进行步行导航.分别是百度.高德.腾讯. 东西不难但是每次都要去官方文档找(有时候会更新一些字段). 所以在此做下记录和分享. 腾讯地图 try { LatLng l ...

最新文章

  1. 解决在SQL Server 2000的存储过程不能调试
  2. windows下python2.7.14版本的安装
  3. python画直方图成绩分析-使用Python进行描述性统计
  4. Android小項目之---時間線程應用(附源碼)
  5. 关于 SAP 电商云 Spartacus UI checkout 流程的一些讨论
  6. apache多站点配置+多端口配置
  7. 31 | 深度和广度优先搜索:如何找出社交网络中的三度好友关系?
  8. WebService之初体验
  9. nucleo stlink 固件_自制nucleo,可以随意更换芯片,支持stlink,板载usbisp
  10. 学习笔记===《用户体验要素——以用户为中心的产品设计》
  11. 下载zxing的网址
  12. qml 发光_“木头”也能发光,研究人员:或用于家庭照明及显示
  13. 海康录像机识别不到硬盘_海康威视找不到硬盘
  14. python里面的模块怎么下载_python下载模块然后怎么安装
  15. 后缀学习第三课(下)
  16. H2O学习笔记(八)——Sparkling Water
  17. Android获内外网IP地址工具类(Json解析读取)
  18. uniapp打包 云端服务器返回错误:请先完成企业实名认证,证明您是“****“的开发者。如有疑问,请发邮件到service@dcloud.io咨询
  19. python画图之小坦克
  20. 北京计算机游戏专业排名2015,2015大学专业排行榜_大学最佳专业排行榜_游戏专业怎么样_52PK游戏网...

热门文章

  1. Centos7 yum install chrome
  2. Angular项目中核心模块core Module只加载一次的实现
  3. 现代软件工程_团队项目_阿尔法阶段_现有功能汇总_2018.01.04
  4. BZOJ1607 [Usaco2008 Dec]Patting Heads 轻拍牛头 筛法
  5. 2016 - 2- 2 非正式协议与正式协议
  6. Apache SolrCloud安装
  7. 几种常用的排序方法7--希尔排序
  8. Flutter 随机颜色 颜色处理工具类
  9. RecyclerView(四)设置分割线样式(Android 5.0 新特性)
  10. Mr.J-- HTTP学习笔记(六)-- 代理