使用带有地图附件的 Facebook Open Graph Story (GeoPoint)
Posted
技术标签:
【中文标题】使用带有地图附件的 Facebook Open Graph Story (GeoPoint)【英文标题】:Using Facebook Open Graph Story with map attachment (GeoPoint) 【发布时间】:2013-10-15 14:21:17 【问题描述】:我正在尝试使用 ios SDK 创建一些带有地图附件的 Open Graph Story,但遇到了一些问题。
首先,我在创建对象时遇到了问题……我设置了一个继承自“Place”的对象。所以这是第一个问题“如何使用 iOS Facebook SDK 设置 GeoPoint 属性?”......经过多次尝试,我放弃了......所以我创建了一个继承自 'Object' 的对象并创建了一个自定义属性将“位置”命名为 GeoPoint。但是这个解决方案给我带来了同样的问题“如何使用 iOS Facebook SDK 设置 GeoPoint 属性?”
我只需要创建一个带有显示场地位置的地图的故事。
这是我的对象:
id<FBOpenGraphObject> openGraphObject = (id<FBOpenGraphObject>)[FBGraphObject openGraphObjectForPost];
[openGraphObject setType:@"appnamespace:venue"];
[openGraphObject setTitle:[currentVenue name]];
[openGraphObject setObject:@"en_US" forKey:@"og:locale"];
[openGraphObject setObject:[[currentVenue locationLatitude] stringValue] forKey:@"appnamespace:location:latitude"];
[openGraphObject setObject:[[currentVenue locationLongitude] stringValue] forKey:@"appnamespace:location:longitude"];
但不工作。
它出现在 Facebook 浏览器对象中,但只有名称。其他属性为零。
有人可以帮助我吗?
【问题讨论】:
【参考方案1】:您的自定义属性应添加到名为data
的字典中。
在我的 Facebook 应用程序中,我有一个对象(继承自 Object),其属性名为 position
,它是一个 geo_point。
这是我用来创建对象的代码:
NSMutableDictionary<FBOpenGraphObject> *object = [FBGraphObject openGraphObjectForPost];
object.provisionedForPost = YES;
object[ @"title"] = @"Title"; // for og:title
object[ @"type"] = @"my_namespace:my_object";
object[ @"data" ] = @ @"position": @ @"latitude": @55, @"longitude": @12 ;
【讨论】:
【参考方案2】:属性不需要以您的应用命名空间为前缀,每个“:”都意味着一个新对象或字典。
尝试类似:
[openGraphObject setObject:@@"latitude": [currentVenue locationLatitude],
@"longitude": [currentVenue locationLongitude]
forKey:@"location"];
【讨论】:
我可以应用放大地图附件吗?我将分享一个位置,而地图显示的距离很远......我想在该位置应用放大以上是关于使用带有地图附件的 Facebook Open Graph Story (GeoPoint)的主要内容,如果未能解决你的问题,请参考以下文章
React native Linking open url不适用于ios上的facebook链接