如何从谷歌地图位置标记(iOS)中删除箭头?

Posted

技术标签:

【中文标题】如何从谷歌地图位置标记(iOS)中删除箭头?【英文标题】:How to remove an arrow from Google Maps geolocation marker (iOS)? 【发布时间】:2015-01-29 15:42:37 【问题描述】:

如何从 Google 地图地理定位标记 (ios) 中删除箭头?

这是我说的箭头

【问题讨论】:

不确定是否以编程方式,但此线程有一些可能对您有所帮助的信息:discussions.apple.com/thread/2528570?start=45&tstart=0 【参考方案1】:

如果您真的想从 Google Maps SDK 中删除您应用中无处不在的箭头,那么在 中修改资产可能是最简单的方法em>GoogleMaps.framework

只需导航 (cd) 到 GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ 并注意以下文件:

GMSSprites-0-1x.png GMSSprites-0-2x.png GMSSprites-0-3x.png

如果您打开这些文件,您会注意到那里有箭头。因此,只需将箭头替换为 nothing(透明像素),直接在资产中进行编辑。


注意:我自己没有测试过,这不是经过测试的解决方案,但我相信它应该可以工作。

免责声明:我不确定,但我认为此修改可能违反使用 SDK 的条款和条件。我对这种修改不承担任何责任,这是你的电话......

【讨论】:

谢谢!我今天会测试它,我认为它应该可以工作。【参考方案2】:

当前版本的 SDK (1.9.1) 无法执行此操作,实际上此请求存在一个未解决的问题:查看here。

作为一种解决方法,您可以使用以下方法隐藏默认按钮:

_map.myLocationEnabled = NO;

然后创建一个自定义的 GMSMarker

 GMSMarker *pointMarker = [GMSMarker markerWithPosition:currentPosition];
 pointMarker.icon = [UIImage imageNamed:@"YourImage"];
 pointMarker.map = _map;

并使用 CLLocationManager 更改它的位置,因此它始终显示当前位置。这有点棘手,但我认为这是实现这一目标的唯一方法。如果您需要更完整的示例,请告诉我。

【讨论】:

以上是关于如何从谷歌地图位置标记(iOS)中删除箭头?的主要内容,如果未能解决你的问题,请参考以下文章

Flutter - 从谷歌地图小部件中删除标记

在本机反应中从谷歌地图中删除标记

如何从谷歌地图中删除特定的多个标记而不是单个或所有标记

从谷歌地图中删除标记集群[不仅仅是标记]

当你从谷歌地图API中点击地图中的内置位置(不是标记)时,如何自定义弹窗的内容?

如何:从谷歌地图上的 JSON 动态更新标记