2017-04-07 25 views
1

私はこのコードを使って特定の場所のGoogleマップアプリを開くことができますが、動作しますが、必要なのはその場所にピンを置くことです。落としたピンでGoogleマップのアプリを開くには? - Swift

if (UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)) { 

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

どのようにするには?

答えて

7

(RIGHソースコードを選択し、ファイルInfo.plisをクリックする)と、これを追加し、この

if (UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)) { 
     UIApplication.shared.open(URL(string:"comgooglemaps://?center=\(self.location.coordinate.latitude),\(self.location.coordinate.longitude)&zoom=14&views=traffic&q=\(self.location.coordinate.latitude),\(self.location.coordinate.longitude)")!, options: [:], completionHandler: nil) 
    } else { 
     print("Can't use comgooglemaps://"); 
    } 
} 
+0

「q」は検索だけではなく、座標で検索できることを覚えています。ありがとうございました。 – Zizoo

2

まずオープンInfo.plistとしてソースコードを試してみてください。それを作るために

<key>LSApplicationQueriesSchemes</key> 
<array> 
    <string>googlechromes</string> 
    <string>comgooglemaps</string> 
</array> 

次Googleマップを簡単に開くには、次のような機能を作成してください:

func openGoogleMaps() { 
    if (UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)) { 
     UIApplication.shared.openURL(URL(string: 
      "comgooglemaps://?center=\(myLatitude),\(myLongitude)&zoom=14&views=traffic")!) 
    } else { 
     print("Can't use comgooglemaps://") 
    } 
} 

指定された座標でGoogleマップを開く場合は、関数openGoogleMaps()を呼び出します。複数のチェックMaps URLsについて

Maps SDK for iOS

1

スウィフト3、IOSの10

let lat = 0.0 
let lon = 0.0 

if UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!) { 
    UIApplication.shared.open(URL(string: "comgooglemaps://?center=\(lat),\(lon)&zoom=14&views=traffic&q=loc:\(lat),\(lon)")!, options: [:], completionHandler: nil) 
} else { 
    print("Can't use comgooglemaps://") 
    UIApplication.shared.open(URL(string: "http://maps.google.com/maps?q=loc:\(lat),\(lon)&zoom=14&views=traffic")!, options: [:], completionHandler: nil) 
} 
0

if UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!) { 
 
    UIApplication.shared.open(URL(string: "comgooglemaps://?center=\(self.latitude),\(self.longitude)")!, options: [:], completionHandler: nil) 
 
} else { 
 
    print("Opening in Apple Map") 
 

 
let coordinate = CLLocationCoordinate2DMake(self.latitude, self.longitude) 
 
let region = MKCoordinateRegionMake(coordinate, MKCoordinateSpanMake(0.01, 0.02)) 
 
let placemark = MKPlacemark(coordinate: coordinate, addressDictionary: nil) 
 
let mapItem = MKMapItem(placemark: placemark) 
 
let options = [ 
 
    MKLaunchOptionsMapCenterKey: NSValue(mkCoordinate: region.center), 
 
    MKLaunchOptionsMapSpanKey: NSValue(mkCoordinateSpan: region.span)] 
 
mapItem.name = theLocationName 
 
mapItem.openInMaps(launchOptions: options) 
 
}

使用しているGoogleマップ場合の開口部は、このコードデフォルトのリンゴマップに開かれています。

関連する問題