首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为CLPlacemark创建自定义RideIntent

为CLPlacemark创建自定义RideIntent
EN

Stack Overflow用户
提问于 2017-04-18 14:41:06
回答 3查看 2.6K关注 0票数 10

我正在尝试使用Intents框架创建一个自定义CLPlacemark。我在文件开始时导入“意图”。

我找到了这个解决方案:

代码语言:javascript
复制
let waypointLocation = CLLocation(latitude: 50.00, longitude: 8.00)
let waypointName = "Some Name"

let w1 = CLPlacemark.init(location: waypointLocation,
                                      name: waypointName,
                                      postalAddress: nil)

不幸的是,上面的代码给了我以下错误消息:

模棱两可地引用成员'init(placemark:)‘

有什么好主意吗?

文档:

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-04-19 15:08:27

通过子类CLPlacemark,可以使用意图框架协议CLPlacemark。

在你项目的某个地方:

代码语言:javascript
复制
class MyPlacemark: CLPlacemark {}

创建自定义CLPlacemark的代码:

代码语言:javascript
复制
let placeLocation = CLLocation(latitude: 50.00, longitude: 8.00)
let placeName = "Some name"
let customPlacemark = MyPlacemark(location: w1Location, name: w1Name, postalAddress: nil)
票数 2
EN

Stack Overflow用户

发布于 2018-10-22 15:18:37

刚刚发现,在iOS 12 / Xcode 10中,还必须包括联系人框架,因为postaladdress param具有此初始化程序所需的类CNPostalAddress。

代码语言:javascript
复制
import Intents
import Contacts
票数 19
EN

Stack Overflow用户

发布于 2017-04-18 14:49:43

你需要用

代码语言:javascript
复制
init(location:name:postalAddress);

placemarkWithLocation调用是客观的-C不迅速,因此它抛出了错误消息。

在文档中,您将在右边看到一个语言选择。init(location:name:postalAddress是您创建一个新位置标记所需要的快速调用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43475253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档