2013-10-15 40 views
1

我想创建一些使用iOS SDK的地图附件的开放图故事,我有一些问题。使用Facebook开放图的故事与地图附件(GeoPoint)

首先,我遇到了创建对象的问题......我设置了一个继承自“Place”的对象。所以这里是第一个问题“如何使用iOS Facebook SDK设置GeoPoint属性?”......经过这么多次尝试之后,我放弃了......所以我创建了一个从“Object”继承的对象,并且我创建了一个自定义属性命名为“位置”为GeoPoint。但是这个解决方案给我带来了同样的问题:“如何使用iOS Facebook SDK设置GeoPoint属性?”

我只需要创建一个带有显示场地位置的地图的Story。

这是我的目标:

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

属性不需要以您的appnamespace为前缀,每个':'都意味着一个新的对象或字典。

尝试类似:

[openGraphObject setObject:@{@"latitude": [currentVenue locationLatitude], 
          @"longitude": [currentVenue locationLongitude]} 
       forKey:@"location"]; 
+1

我可以适用于地图附件变焦?我将分享一个位置,并且地图显示如此之遥......我想在该位置应用放大 –

2

您的自定义属性应该在一个名为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 }};