Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在google map v2 android中更改信息窗口(自定义)位置?_Android_Google Maps - Fatal编程技术网

如何在google map v2 android中更改信息窗口(自定义)位置?

如何在google map v2 android中更改信息窗口(自定义)位置?,android,google-maps,Android,Google Maps,我有一个带有谷歌地图的屏幕,在屏幕顶部有一个用于搜索位置的AutotextView,并创建一个自定义信息窗口来显示更多详细信息,问题是当用户单击任何标记自定义窗口弹出窗口作为其默认行为(在屏幕上居中)时,它混淆了AutotextView,我可以更改屏幕上的信息窗口位置吗,例如底部或类似的地方。当前您无法将信息窗口更改为低于标记。这已经在上进行了请求和讨论 我只能建议您在单击到其他位置后设置标记动画。在MarkerClickListener上添加,并在此处返回true(已处理)。之后,您可以拨打:

我有一个带有谷歌地图的屏幕,在屏幕顶部有一个用于搜索位置的AutotextView,并创建一个自定义信息窗口来显示更多详细信息,问题是当用户单击任何标记自定义窗口弹出窗口作为其默认行为(在屏幕上居中)时,它混淆了AutotextView,我可以更改屏幕上的信息窗口位置吗,例如底部或类似的地方。

当前您无法将信息窗口更改为低于标记。这已经在上进行了请求和讨论

我只能建议您在单击到其他位置后设置标记动画。在MarkerClickListener上添加
,并在此处返回
true
(已处理)。之后,您可以拨打:

marker.showInfoWindow();
map.animateCamera(...);
创建一个与默认值相似但位置不同的效果。

如果您想在谷歌地图屏幕上用弹出窗口调整标记位置完美中心,请使用下面的代码,因为我已经获得了弹出高度,并基于该更新的y轴。我希望它能帮助您。


谷歌地图信息窗口的位置现在总是在标记的中间上方。如果标记旋转

double angle = MARKER_ROTATION_ANGLE;
double x = Math.sin(-angle * Math.PI / 180) * 0.5 + 0.5;
double y = -(Math.cos(-angle * Math.PI / 180) * 0.5 - 0.5);
marker.setInfoWindowAnchor((float)x, (float)y);
说明:
您必须给出标记的精确旋转,而不是标记的旋转角度。那就可以了。:)

谢谢,我也面临同样的问题。谢谢你的回答和时间,当用户点击标记时,我们可以停止动画制作吗?弹出的信息窗口将打开标记放置的位置。
double angle = MARKER_ROTATION_ANGLE;
double x = Math.sin(-angle * Math.PI / 180) * 0.5 + 0.5;
double y = -(Math.cos(-angle * Math.PI / 180) * 0.5 - 0.5);
marker.setInfoWindowAnchor((float)x, (float)y);