2017-02-07 12 views
1

私はGMSMapViewを表示していますが、レストラン、ホテル、ショップなどのビジネススポットを表示することはできません。 docsによると、マップタイプkGMSTypeNormalを使用してその要求を提供する必要があります。GMSMapViewにビジネスPOIが表示されていない、didTapPOIWithPlaceIDが呼び出されていない

In addition, business POIs appear by default on the map when the map type is kGMSTypeNormal

残念ながら、公園、観光スポット、病院などの「公式」POIのみが表示されます。

さらに、これらの「公式」POIの1つをタップすると、GMSMapViewDelegateのメンバー関数mapView:didTapPOIWithPlaceID:name:location:が呼び出されますが、どこにタップしても、呼び出される関数はありません。私は一時的に対応するmapView:didTapAtCoordinate:を試してみました。私はデリゲートを正しく設定しています。これは完全に動作します。解決へのヒントかもしれない何

import UIKit 
import GoogleMaps 

class PoiGoogleMapVC: UIViewController, UITextFieldDelegate, CLLocationManagerDelegate, GMSMapViewDelegate { 

    @IBOutlet weak var mainMap: GMSMapView! 

    let locationManager = CLLocationManager() 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     mainMap.delegate = self 
     locationManager.delegate = self 

     let camera: GMSCameraPosition = GMSCameraPosition.camera(withLatitude: 48.857165, longitude: 2.354613, zoom: 8.0) 
     self.mainMap.mapType = kGMSTypeNormal 
     self.mainMap.camera = camera 
     locationManager.requestWhenInUseAuthorization() 
    } 

    func mapView(_ mapView: GMSMapView, didTapPOIWithPlaceID placeID: String, name: String, location: CLLocationCoordinate2D) { 
     print("You tapped \(name): \(placeID), \(location.latitude)/\(location.longitude)") 
    } 
} 

が、この時点で私だけを混乱させる、api docGMSMapViewに応じmapStyleというプロパティを持っていることである。ここでは

は私のコードです。私はXcodeのは私にコンパイラエラーが発生します。このプロパティにアクセスしようとすると:

Value of type 'GMSMapView' has no member 'mapStyle'

答えて

0

mapStyleやビジネスのPOIは、9月22日2016年に、バージョン2.1で追加されリリースされましたここを参照してください:

https://developers.google.com/maps/documentation/ios-sdk/releases#version_21_-_september_22_2016

を古いバージョンのSDKを使用している可能性がありますか?

+0

これは正解です。それは私の疑いでしたが、私は一からそれをインストールして以来、私はそれを信じることができませんでした。 'pod install'の直後に' pod update'を実行すると、痛いことはありません(時には本当に便利です)。ありがとう! – tr03lf

関連する問題