首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Placemark.name创建MKMapItem时,MKMapItem的MKMapItem为零

从Placemark.name创建MKMapItem时,MKMapItem的MKMapItem为零
EN

Stack Overflow用户
提问于 2015-06-15 12:50:07
回答 2查看 573关注 0票数 3
代码语言:javascript
复制
MKPlacemark *placemark1 = [[MKPlacemark alloc] initWithPlacemark:mapItem1.placemark];

MKMapItem *item = [[MKMapItem alloc] initWithPlacemark:placemark1];

NSLog(@"placemark1.name is - %@", placemark1.name)

名字是-星巴克

代码语言:javascript
复制
NSLog(@"mapItem1's placemark.name is - %@", mapItem1.placemark.name) 

地图1的placemark.name是-星巴克

代码语言:javascript
复制
NSLog(@"item's placemark.name is - %@", item.placemark.name) 

物品的placemark.name是-零

mapItem1具有适当的值。mapItem1.placemark.name是@“Start雄鹿”。

当我像上面这样实现时,item.placemark.name是零。但是placemark1.name 1的名字是@"Sartbucks“。

当我用另一个MKPlacemark制作MKPlacemark时,它也将mark.name放置在这个MKMapItem中为零。

我不知道为什么这些结果回来了。

我认为同样价值的原地名必须归还。

EN

回答 2

Stack Overflow用户

发布于 2017-11-13 13:50:01

我注意到,如果您指定MapItem的名称,placemark将显示名称。

代码语言:javascript
复制
extension MKPlacemark {
    var toMapItem: MKMapItem {
        let item = MKMapItem(placemark: self)
        item.name = name
        return item
    }
}
票数 3
EN

Stack Overflow用户

发布于 2015-08-15 06:03:16

我假设mapItem1MKMapItem类型的?如果这是真的,则不需要初始化新的object(*placemark1),,也不需要将placemark1存储在新的MKMapItem 中。

因为您在代码(mapItem1.placemark)中调用了mapItem1上的placemark,所以我认为我认为它是MKMapItem类型是对的。

总之,您根本不需要这些代码行:

代码语言:javascript
复制
MKPlacemark *placemark1 = [[MKPlacemark alloc] initWithPlacemark:mapItem1.placemark];

MKMapItem *item = [[MKMapItem alloc] initWithPlacemark:placemark1];

您的MKMapItem *mapItem1将按原样工作。这有意义吗?你在改造方向盘。只要使用mapItem1.placemark,无论您需要使用它在哪里。我一直在做一个使用mapkit的项目,所以如果你有任何问题,我很乐意回答它们。

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

https://stackoverflow.com/questions/30845635

复制
相关文章

相似问题

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