【发布时间】:2017-03-05 17:49:07
【问题描述】:
Android API 有一个非常方便的类IconGenerator。使用IconGenerator 在我的 Android 应用中,我可以轻松地制作一个标记:
- 是一个简单的矩形,具有我选择的颜色。
- 调整大小以容纳任意长度的文本。
- 不是信息窗口 - 我希望标记本身包含如下图所示的文本,来自 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 来做这么简单的事情? iOS api 的recent release 允许“标记自定义”,但我不知道如何将其应用于此用例。
// 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
【问题讨论】:
-
这就是我所提到的,创建一个与您的 android 相同的
UIView,它包含您的 $ 价格,然后从中创建一个UIImage,我已经提到了相同的功能。跨度> -
我在看到您更新的答案之前编辑了我的问题。我将在明天实施。同时,您能否更具体地了解 UIVIew/标签代码的外观。
-
好的,我会尝试制作您想要的类似视图。它只是一个将转换为图像的视图。您可以使用 BezierPaths 来实现类似视图的向下箭头点形状。另外,如果您不想要我在标记之上所做的,只需删除
mapView.selectedMarker = marker行,它将是一个简单的标记
标签: ios swift google-maps google-maps-markers google-maps-sdk-ios