2017-02-07 1 views
1

나는 GMSMapView을 표시하지만 레스토랑, 호텔, 상점 등의 비즈니스 장소는 표시 할 수 없습니다. docs에 따르면 mapType kGMSTypeNormal을 사용하여 해당 요청을 제공해야합니다.GMSMapView에 비즈니스 POI가 표시되지 않았습니다. didTapPOIWithPlaceID가 호출되지 않았습니다.

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

불행히도 공원, 명소, 병원 등의 "공식"POI 만 표시합니다.

또한이 "공식"POI 중 하나를 탭하면 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라는 속성을 가지고 있다는 것입니다.

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

답변

0

mapStyle 및 비즈니스 관심 장소가 버전 2.1에 추가 된, 여기를 참조하십시오 9월 2016 년 22 발표 :

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

나는이 부동산 엑스 코드 나에게 컴파일러 오류를 제공에 액세스하려고 할 때 이전 버전의 SDK가 있습니까?

+0

정답입니다. 그것은 또한 나의 의심 이었지만 처음부터 그것을 설치했기 때문에 나는 그것을 믿을 수 없었다. 'pod install '직후에'pod update'를하면 상처를 입히지 않는다는 것 (때로는 매우 유용 할 수 있음)이 나온다. 감사! – tr03lf

관련 문제