2017-08-16 8 views
1

ピンを表示するアプリ内にGoogleマップビューがあります。Google Maps SDKはピンを開けません

func setUpGoogleMapView() { 

    let camera = GMSCameraPosition.camera(withLatitude: self.site.latitude, longitude: self.site.longitude, zoom: 15.0) 
    let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera) 
    mapView.frame = googleMapView.frame 
    self.view.addSubview(mapView) 

    let marker = GMSMarker() 
    marker.position = CLLocationCoordinate2D(latitude: self.site.latitude, longitude: self.site.longitude) 
    marker.title = self.site.name 
    marker.map = mapView 
} 

I手動クエリにURLを渡しUIApplication.shared.openURLを呼び出す場合、それは別のモードで開き(注釈が場所の名前を示していない、代わりに緯度経度&を示す)、または開きませんユーザーがGoogleマップをインストールしていない場合

@IBAction func directionsButtonPressed(_ sender: UIButton) { 
    if (UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)) { 

     UIApplication.shared.openURL(URL(string: 
      "comgooglemaps://?center=\(self.site.latitude),\(self.site.longitude)&zoom=14&views=traffic&q=\(self.site.latitude),\(self.site.longitude)")!) 
    } else { 
     print("Can't use comgooglemaps://"); 
    } 
} 

UIApplication.shared.openURLを使用してサファリでGoogleマップを開くにはどうすればよいですか?

UIApplication.shared.openURLと電話をすれば、地名のピンを表示するにはどうすればよいですか?

UIApplication.shared.openURLを使用した後、同じ指示モードを使用したいと考えています。

screenshot

+0

はあなたが探している所望の出力のスクリーンショットを投稿できますか? – Hooda

+0

ありがとうございます。画像を追加してリンクを追加することはできません – NatukaKh

+0

あなたが表示しているスクリーンショットは、探している出力ですか? – Hooda

答えて

1

スウィフト3.xの:

let strPlaceName = "batumi+botanical+garden" as String! 
let url = URL(string: "https://www.google.com/maps?q="+strPlaceName!) 

if UIApplication.shared.canOpenURL(url!) { 
    if #available(iOS 10.0, *) { 
     UIApplication.shared.open(url!, options: [:], completionHandler: nil) 
    } else { 
     // for iOS 10, below is deprecated 
     UIApplication.shared.openURL(url!) 
    } 
} 

のObjective-C:

NSString *strPlaceName = @"Batumi+Botanical+Garden"; 
NSString *str = [NSString stringWithFormat:@"https://www.google.com/maps/place/%@",strPlaceName]; 
NSURL *url = [NSURL URLWithString:str]; 

if([[UIApplication sharedApplication] canOpenURL:url]) {  
    if([[UIDevice currentDevice].systemVersion floatValue] >= 10.0){ 
     [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil]; 
    } else { 
     // for iOS 10, below is deprecated 
     [[UIApplication sharedApplication] openURL:url]; 
    } 
} 
+0

ありがとうございました!それは本当にうまくいく!私はそれをupvoteしかし、それはまだ十分な評判を持っていないと言う:) @Hooda – NatukaKh

+0

@ NatukaKhそれが働いたことを知ってうれしい! upvoteには15の評判が必要です。あなたが望むなら、十分な評判があるときに後でupvoteすることができます。 – Hooda

+0

します:)もう一度ありがとう! – NatukaKh

関連する問題