ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

android-如何基于屏幕位置而不是地图位置来定位InfoWindows?

2019-11-21 09:27:09  阅读:206  来源: 互联网

标签:infowindow google-maps-android-api-2 android


我的自定义infoWindows大于默认值.这意味着我必须降低单击标记时地图中心的位置,以便infoWindow可以完整显示.问题是,由于我将地图位置向下移动了特定的纬度,因此当地图放大关闭时,偏移量太大.相反,当我将镜头拉远时,它的移动幅度不够大.如何相对于屏幕高度放置infoWindow?

屏幕的默认外观. X是infoWindow的锚点

|-----|
|-----|
|--X--|
|-----|
|-----|

我想要的:(无论缩放级别如何)

|-----|
|-----|
|-----|
|--X--|
|-----|

解决方法:

要降低地图以标记为中心的点.抱歉,您失去了默认的信息窗口实现.不用担心您的自定义信息窗口将轻松移植到此方法.处理onMarkerClick是一件非常好的事情,因为现在您的信息窗口可以处理链接到外部内容的按钮,任何信息窗口在google maps应用程序上所做的任何操作(如导航按钮)都可以在onMarkerClick()上使用弹出窗口或对话框片段来完成.

跟着这些步骤.

>告诉地图您正在处理onMarkerClick. mMap.setOnMarkerClickListener(this);
>覆盖onMarkerClick(Marker marker)以
>显示弹出窗口
http://android-er.blogspot.com/2012/03/example-of-using-popupwindow.html
或对话框片段.
>移动地图,使标记位于屏幕底部.
计算新纬度时要考虑到缩放比例和北向. This library
会有所帮助. mMap.moveCamera(CameraUpdateFactory.newLatLng(markers newlat newlon));
>返回false;从onMarkerClick事件告诉android
处理标记.

请注意,对于要使用默认地图信息窗口的标记,请从onMarkerClick()返回true.

标签:infowindow,google-maps-android-api-2,android
来源: https://codeday.me/bug/20191121/2050633.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有