谷歌地图 iOS SDK:用作标记的自定义图标

2024-01-10

Android API 为此提供了一个非常方便的类,IconGenerator http://googlemaps.github.io/android-maps-utils/javadoc/com/google/maps/android/ui/IconGenerator.html。使用IconGenerator 在我的 Android 应用程序中,我可以轻松地做一个标记:

  1. 是一个简单的矩形,颜色由我选择。
  2. 调整大小以容纳任意长度的文本。
  3. is NOT信息窗口 - 我希望标记本身包含 Android 版本中的文本,如下图所示。
// Android - problem solved with IconGenerator
IconGenerator iconGenerator = new IconGenerator(context);
iconGenerator.setStyle(IconGenerator.STYLE_GREEN); // or any other color
Bitmap iconBitmap = iconGenerator.makeIcon(myString);
Marker m = new MarkerOptions().icon(BitmapDescriptorFactory.fromBitmap(iconBitmap))
                              .position(myLatLng);
map.addMarker(m); // map is a com.google.android.gms.maps.GoogleMap

有没有办法做这样简单的事情iOS 使用 Swift? 已经有一个最近发布 https://github.com/googlemaps/google-maps-ios-utils/releases/tag/v1.1.0允许“标记自定义”的 iOS api,但我不知道如何将其应用于此用例。

// iOS (Swift) - I don't know how to create the icon as in code above
let marker = GMSMarker(position: myLatLng)
marker.icon = // How can I set to a rectangle with color/text of my choosing?
marker.map = map // map is a GMSMapView

这是我所做的

let marker = GMSMarker()

// I have taken a pin image which is a custom image
let markerImage = UIImage(named: "mapMarker")!.withRenderingMode(.alwaysTemplate)

//creating a marker view
let markerView = UIImageView(image: markerImage)

//changing the tint color of the image
markerView.tintColor = UIColor.red

marker.position = CLLocationCoordinate2D(latitude: 28.7041, longitude: 77.1025)

marker.iconView = markerView
marker.title = "New Delhi"
marker.snippet = "India"
marker.map = mapView

//comment this line if you don't wish to put a callout bubble
mapView.selectedMarker = marker

输出是

我的标记图像是

您可以根据需要更改颜色。另外,如果您想要矩形的东西,您可以创建一个简单的小矩形图像并像我上面那样使用它并更改您需要的颜色。

或者,如果您想要一个其中包含文本的矩形,您可以创建一个小的UIView带有一些标签,然后将其转换UIView in UIImage并且可以做同样的事情。

//function to convert the given UIView into a UIImage
func imageWithView(view:UIView) -> UIImage {
    UIGraphicsBeginImageContextWithOptions(view.bounds.size, false, 0.0)
    view.layer.render(in: UIGraphicsGetCurrentContext()!)
    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    return image!
}

希望能帮助到你!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

谷歌地图 iOS SDK:用作标记的自定义图标 的相关文章

  • 为什么我们在 @synchronized 块中传递 self ?

    我猜 synchronized 块不依赖于对象 而是依赖于线程 对吗 既然如此 我们为什么要传递 self 呢 synchronized是语言提供的用于创建同步作用域的构造 因为使用简单的全局共享互斥锁效率非常低 因此序列化每个单独的互斥锁
  • 我可以在 NS_SWIFT_NAME 中使用保留关键字吗?

    我正在尝试使 Objective C 委托协议更漂亮以便在 Swift 中使用 但我在弄清楚如何使用时遇到了一些麻烦NS SWIFT NAME 是否可以使用NS SWIFT NAME指定 Swift 名称中与 Objective C 关键字
  • Android Maps Utils 聚类显示 InfoWindow

    我计划使用 utils 库中提供的谷歌地图标记聚类 但谷歌示例应用程序仅显示标记集群 没有任何信息窗口 我现在想知道 我是否无法显示信息窗口 我希望 InfoWindow 显示在标记上 就像普通的谷歌地图标记一样 而不是显示在集群上 我的代
  • iOS Swift 检测键盘事件

    我能以某种方式检测来自 iOS 键盘的事件吗 我想检测此类事件UIViewController哪个没有UITextField或任何此类物体 我只有四个圆圈UIView我想在按下键盘上的按钮时将它们涂成不同的颜色 您没有任何对象可以从键盘获取
  • 新的 FUITableViewDataSource - 如何使用?雨燕3

    刚刚更新到较新的 FirebaseUI Pod 有些事情发生了变化 但其中最大的变化之一是 FUI 表视图的工作方式 我让它在旧版本上运行良好 但在下面遇到了困难 并且缺乏文档 示例 self dataSource FUITableView
  • iOS 4.2.1 丢失文件?

    这是我第一次使用最新的 xcode 3 2 5 和新的 iOS 4 2 1 当我在设备上运行应用程序时 我收到以下运行时错误 无法读取 Developer Platforms iPhoneOS platform DeviceSupport
  • iOS App布局错误,调用状态栏

    在主动通话和应用程序布局期间面临状态栏问题 我正在使用自动布局 当我运行应用程序 然后开始通话时 一切正常 UI 会随着状态栏的更改而正确缩放 但是 如果我首先开始通话 然后运行应用程序 应用程序屏幕会移动到底部 20pt 就像它们对新状态
  • 使用 UIImagePickerController 的应用程序在拍照后选择“使用照片”时冻结

    我现在正在开发一个简单的照片和视频捕获应用程序 该应用程序成功地允许用户按下按钮即可拍摄照片或视频 但是 一旦您完成拍摄照片或视频 它就会提供 2 个选项 重新拍摄 和 使用照片 或 使用视频 具体取决于您使用的选项 如果用户点击 重新拍摄
  • iOS 开发: [[self navigationController] viewControllers]; 有哪些原因?会返回零吗?

    以下语句返回零 NSArray viewControllersInNavStack self navigationController viewControllers 这个语句是在导航堆栈中大约四层深度的视图控制器中调用的 所以我不明白它如
  • 使用隐藏的 SFSafariViewController 获取 Safari cookie

    我正在阅读以下关于从移动网页到本机 iOS 9 应用程序对用户进行身份验证的文章 并且想知道如何最好地实现类似于下面讨论的隐藏控制器的隐藏 safari 视图控制器 https library launchkit io how ios 9
  • iOS:从非图像数据生成图像(Godus,如风景)

    所以看到图像后Godus http www kickstarter com projects 22cans project godus我想知道如何生成简单的 非交互式的 2D 图像 with 不同高度或层数的颜色不同就像下面的图片一样 我只
  • 在 iOS 中录制音频并永久保存

    我制作了 2 个 iPhone 应用程序 可以录制音频并将其保存到文件中并再次播放 其中之一使用 AVAudiorecorder 和 AVAudioplayer 第二个是苹果的在这里说话 http developer apple com l
  • Swift:从自定义 UITableViewCell 中的 UITextField 检索文本并将其放入数组中

    我正在制作一个非常简单的应用程序 用户在第一个屏幕中输入人数 在第二个屏幕中 它会生成一些UITableViewCell基于用户在第一个屏幕中输入的数字 这UITableViewCell have a UITextField在其中 一旦用户
  • 如何使用自签名证书为 TLS 创建 iOS NWConnection?

    我正在尝试将 Apple 的新 NWConnection 类用于我的 MQTT 客户端 为了进行测试 我需要能够创建到本地测试代理的 TLS 连接 该代理具有自签名证书 到目前为止 我只是使用以下命令设置连接 self connection
  • 在WKWebview中设置useragent

    如何在 WKWebView 中设置自定义用户代理字符串 我正在尝试嵌入我的应用程序的版本 以便我的服务器端可以看到可用的功能 我找到了以下方法 let userAgent MyApp 1 33 7 request setValue user
  • 通过 iPhone 连接到 AT&T 无线网络的谷歌静态地图无法工作 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 最近 当我的 iPhone 连接到 AT T 无线网络时 我在检索静态地图时遇到了问题 但是 当我连接到本地 WiFi 时工作正常 上周日停止工作了几
  • 应用未能及时恢复

    我在一个非常具体的场景中遇到 未能及时恢复 崩溃 我认为与看门狗相关 仅在从后台恢复时 并且仅在进入后台后在很短的时间内执行此操作 a最多几秒钟 这似乎是相关的崩溃日志 Incident Identifier E30F2238 5B15 4
  • iOS 发送 iMessage 尽可能简单

    我希望能够以编程方式发送 iMessage 除了调用一个将文本发送到带有消息的号码的函数之外 无需执行任何其他操作 这两个消息都是文本框 我真的很感激一些示例代码 因为我在网上搜索过 但我发现没有任何帮助 这不适用于商业应用程序 仅适用于我
  • iOS 对 Google 云消息传递的支持

    我在谷歌的开发者控制台中看到 GCM 允许为 iOS 生成 API 密钥 我在网上搜索了有关如何在 iOS 应用程序中通过 GCM 实现推送通知的任何类型的文档 但没有找到答案 真的有可能在 iOS 应用程序中使用 GCM 实现推送通知 j
  • 下标:使用字符串枚举访问我的字典值

    我想做类似的事情 使用字符串枚举访问我的字典值 我试图重载字典的下标但没有成功 访问字典 let district address JsonKeys district 其中 JsonKeys 是 enum JsonKeys String c

随机推荐

  • Akka 会淘汰 Camel 吗?

    My 理解Akka 的特点是它提供了一个模型 多个独立的线程可以通过该模型以高度并发的方式相互通信 它使用 参与者模型 其中每个线程都是一个 参与者 负责执行特定的工作 您可以编排在什么条件下将哪些消息传递给哪些参与者 我以前使用过 Cam
  • 在 Swing 中加载数据时的 JProgressBar

    我有一个来自 UI 的服务器调用 它的响应时间有点高 所以我想在从服务器加载数据期间显示进度条 我已经尝试使用以下代码approach https stackoverflow com questions 10442406 basic ind
  • blockinfile 不断添加块

    我想使用 blockinfile 将文本块添加到我的 ElasticSearch 配置中 但每次运行我的 playbook 时 该块都会添加到文件中 即使它已经存在 这是一个问题 因为 ElasticSearch 不只是获取最后一个值 它还
  • 当事先不知道字段时使用 DictWriter 写入 CSV

    我正在将一大段文本解析为字典 最终目标是创建一个 CSV 文件 其中键作为列标题 csv DictWriter csvfile fieldnames restval extrasaction raise dialect excel args
  • Android 轮流重启 Activity

    在我的 Android 应用程序中 当我旋转设备 滑出键盘 时 我的Activity已重新启动 onCreate叫做 现在 这可能就是应该的样子 但我在中做了很多初始设置onCreate方法 所以我需要 将所有初始设置放在另一个函数中 这样
  • 将数据库添加到树莓派 kubernetes 集群

    我对 k8s 相当陌生 所以如果我误用了 k8s 术语 请原谅我 我希望有人能给我指出正确的方向并建议最好的方法 我有一个 k8s 集群运行在一组树莓派上 我想添加一个所有工作人员都可以访问的数据库卷 我计划使用 USB 外部驱动器来存储数
  • 通过 javascript 打开 facebook 连接窗口?

    当有人尝试通过 Facebook 登录我的网站时 他会被重定向到一个页面 在该页面中他会看到所有请求的权限 然后单击以允许 禁止它们 有什么方法可以通过 javascript 打开此页面作为分层窗口 而无需用户离开我的网站吗 例如 当 fa
  • 悬停时淡入边框

    我想在悬停时淡入边框 我有以下内容 但一开始什么也没有 然后变成 1px 灰线 灰色是默认颜色 然后最终变成 2px 红线 我到底出了什么问题 a border bottom none transition border bottom 1s
  • Telerik MVC:使用ajax请求加载网格不起作用

    我有一个 Telerik MVC Tabstrip 我用过了 LoadContentFrom Grid Orders 网格 操作仅返回没有模型的视图 然后应该触发 Ajax 请求来获取数据 它正在正常加载网格 但没有调用 Ajax 请求来填
  • 从 Angular 6 迁移到 Angular 7

    我最近将我的 Angular 4 应用程序升级到 Angular 6 现在想升级到 Angular 7 根据下面的文章 运行以下命令应该不会超过 10 分钟即可升级 ng 更新 Angular cli Angular Core https
  • Python list.clear复杂性[重复]

    这个问题在这里已经有答案了 Python 3方法的复杂度是多少list clear 这里没有给出 https wiki python org moin TimeComplexity https wiki python org moin Ti
  • 为什么片段有默认构造函数?

    Fragment中有默认构造函数 我想知道它的用途以及它提供什么功能 我在没有它的情况下运行代码 它工作完美 并且在删除它时我找不到任何错误 public class SongListFragment extends Fragment pr
  • 在 Java 中使用多行“and”或“or”格式化“if”语句的正确方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 显然 如果 和 和 或 是非常通用的搜索参数 我一生都无法在谷歌上找到答案 根据 Java 标准 以下哪种格式是正确的 Option 1 if
  • 枚举本地化

    如何本地化枚举ListBoxFor哪里可以有多种选择 例如一个enum包含角色 public enum RoleType Display Description Administrator ResourceType typeof Resou
  • 在 dealloc 中使 NSTimer 失效

    下列的这个问题 https stackoverflow com q 3478361 865175 更具体地说 这条评论 https stackoverflow com questions 3478361 best time to inval
  • 返回非正数时函数更改变量地址

    所以我有一个函数 它获取变量的地址并将数字放入其中 我需要这个函数来对输入进行所有检查 因为我的老师喜欢放类似的东西 123 ABV00000012 当要求只输入一个数字时 问题是 当数字为负数时 它会以某种方式更改我的变量的地址 并只给我
  • 反序列化触发函数

    我有一个包含许多字段的类 这些字段通常是在构造函数中根据类中的其他数据计算的 它们不会序列化为 XML 因为对其余数据的任何更改都可能需要重新计算 有没有办法设置在反序列化时触发的函数调用 你所描述的是 OnDeserialized htt
  • XStream 序列化和反序列化中的多态性

    我有这些课程 XStreamAlias person public class PersonConfig private AnimalConfig animalConfig public interface AnimalConfig XSt
  • Response.Flush() 仅适用于 Firefox

    我试图在做一些冗长的工作之前向客户发送一些内容 Response Write Processing Response Flush System Threading Thread Sleep 5000 Response Write Finis
  • 谷歌地图 iOS SDK:用作标记的自定义图标

    Android API 为此提供了一个非常方便的类 IconGenerator http googlemaps github io android maps utils javadoc com google maps android ui