2015-10-09 38 views
0

我在反應原生iOS應用程序中使用Google Place Picker。谷歌的地方選取器沒有打開(react-native ios應用程序)

使用react-native本地模塊指南,我已導出Place Picker的本地模塊以用於Javascript。

但是當我調用placePickerWithCallback方法時,沒有任何反應,沒有顯示UI,甚至不會引發錯誤。

RCT_EXPORT_METHOD(pickPlace:(RCTResponseSenderBlock)callback) 
{ 

    GMSPlacePickerConfig *config = [[GMSPlacePickerConfig alloc] initWithViewport:nil]; 
    GMSPlacePicker *_placePicker = [[GMSPlacePicker alloc] initWithConfig:config]; 

    [_placePicker pickPlaceWithCallback:^(GMSPlace *place, NSError *error) { 
    if (error != nil) { 
     NSLog(@"Pick Place error %@", [error localizedDescription]); 
     return; 
    } 

    if (place != nil) { 
     callback(@[[self placeToJson:place]]); 
    } 
    }]; 
} 

我檢查了我的API密鑰與sdk示例的作品,並啓用了所有的Google API。 即使從Place Picker SDK-currentPlaceWithCallback的其他一種方法也能正常工作並返回結果。

是否有一些額外的方法,我應該呼籲界面通過react-native調用時顯示?

回答

0

我不太瞭解react-native,但這裏的問題可能是地方選擇器對象在本地範圍內。來自the place picker docs

在地點採摘操作期間必須保留對地點選擇器的引用。如果地點選取器對象的保留計數變爲0,則取消操作將被取消,並且不會調用回調。

嘗試使_placePicker變量的類的成員變量,或以其它方式保持到其上的參考,直到操作完成。再次,不知道如何在React中做到這一點。

+0

謝謝,將'_placePicker'變量移動到類的成員變量工作! –

相關問題