0
地図ビュー上にポップオーバー画面を表示するXcodeでアプリを作成しています。現在の場所に基づいて近くの場所を検索します。私はこれを行ういくつかの方法を試みたが、これを達成していない。私は比較的新しいコーディングをしています.Googleプレイスのドキュメントはあまりにもあまりにも漠然としています。Google Places APIを使用して、XcodeのUITableViewにユーザーの現在地付近の場所のリストを表示します。
私はすでにGoogleプレイス(ダウンロード済み、リンク済み、APIキーなど)を実装していると言われています。リストビューで近くの場所を表示する正しい方法を見つけようとしています。私はSwiftを使ってこれを作成しています。
import UIKit
import GooglePlaces
class ViewController: UIViewController, UITableViewDataSource {
var placesClient: GMSPlacesClient!
override func viewDidLoad() {
super.viewDidLoad()
self.nearbyPlaces()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func nearbyPlaces() {
placesClient.currentPlace(callback: { (placeLikelihoodList, error) -> Void in
if let error = error {
print("Pick Place error: \(error.localizedDescription)")
return
}
if let placeLikelihoodList = placeLikelihoodList {
for likelihood in placeLikelihoodList.likelihoods {
let place = likelihood.place
}
}
})
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return GMSPlaceLikelihoodList.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
var cell = UITableViewCell()
cell.textLabel?.text = "Test"
return cell
}
}
ありがとう!これは素晴らしい!私が抱えている唯一の問題は、テーブルに "place.name"値を設定することです。エラーを返しています:タイプ 'GMSPlaceLikelihood?'の値メンバ 'name'がありません –
@ M.Spencer、はい、それは私の悪いです、それは 'var place = likeHoodList.likelihoods [indextPath.row] .place'でなければなりません。 – ocanal
素晴らしい応答!残念ながら、それはまだ人口が多いようには見えません...私は何もエラーはありませんが、リストはまだ空です、私はそれが愚かな間違いだと確信しています –