読者です 読者をやめる 読者になる 読者になる

Swift,Objective-Cプログラミング ~ iOS ~

Objective-C,Swift,Apple Watchなどのプログラミング

【iOS Swift入門 #231】Google Maps SDKの地図タイプの変更、屋内地図の表示・非表示

Google Maps SDKの地図タイプの変更、屋内地図の表示・非表示を試す!

GoogleMaps SDKのインストール方法はこちらを参照。swift.swift-studying.com

■地図の追加
地図タイプを変更したりする前に、とりあえず地図を表示する。

サンプルソース

import UIKit
import GoogleMaps

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func loadView() {
        // カメラ、地図の作成
        var camera = GMSCameraPosition.cameraWithLatitude(1.285, longitude: 103.848, zoom: 12)
        var mapView = GMSMapView.mapWithFrame(CGRectZero, camera: camera)

        // ViewControllerのベースViewに地図をセット
        self.view = mapView
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

■地図のタイプを変更
GMSMapViewオブジェクトのmapTypeプロパティを変更することで地図のタイプを変更できる。

タイプは5種類ある。

①kGMSTypeNormal // 通常タイプの地図
f:id:fjswkun:20150712143233p:plain

②kGMSTypeHybrid // 衛星写真に地名がラベルで表示される地図
f:id:fjswkun:20150712143252p:plain

③kGMSTypeSatellite // 衛星写真のみの地図(地名のラベルなし)
f:id:fjswkun:20150712143302p:plain

④kGMSTypeTerrain // 通常タイプの地図に地形の高さなどを強調した地図
f:id:fjswkun:20150712143312p:plain

⑤kGMSTypeNone // 何も表示されない
f:id:fjswkun:20150712143323p:plain

サンプルソース

import UIKit
import GoogleMaps

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func loadView() {
        // カメラ、地図の作成
        var camera = GMSCameraPosition.cameraWithLatitude(1.285, longitude: 103.848, zoom: 12)
        var mapView = GMSMapView.mapWithFrame(CGRectZero, camera: camera)

        // 地図タイプの変更
//        mapView.mapType = kGMSTypeNormal  // 通常タイプのちず
        mapView.mapType = kGMSTypeHybrid  // 衛星写真に地名がラベルで表示される地図
//        mapView.mapType = kGMSTypeSatellite  // 衛星写真のみの地図(地名のラベルなし)
//        mapView.mapType = kGMSTypeTerrain  // 通常タイプの地図に地形の高さなどを強調した地図
//        mapView.mapType = kGMSTypeNone  // 何も表示されない

        // ViewControllerのベースViewに地図をセット
        self.view = mapView
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

■ズームしていくと建物内の屋内地図を表示する
GMSMapViewオブジェクトのindoorEnabledプロパティを変更することでズームしたときに建物内の屋内地図を表示するかを変更できる。
※初期値はtrue、つまりズームした時に建物内の屋内地図を表示する。

indoorEnabledがtrue
f:id:fjswkun:20150712143338p:plain

indoorEnabledがfalse
f:id:fjswkun:20150712143349p:plain

サンプルソース

import UIKit
import GoogleMaps

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func loadView() {
        // カメラ、地図の作成
        var camera = GMSCameraPosition.cameraWithLatitude(35.5636536, longitude: 139.7216845, zoom: 12)
        var mapView = GMSMapView.mapWithFrame(CGRectZero, camera: camera)

        // 屋内地図を非表示
        mapView.indoorEnabled = false

        // ViewControllerのベースViewに地図をセット
        self.view = mapView
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

■おわりに
サンプルソースのプロジェクトはこちらからダウンロード。
SampleGoogleMap.zip - Google ドライブ


運動中につけるイヤホン。

ヘッドホン bluetooth 【KuGi】 高音質 ワイヤレスヘッドホン 軽量 小型 防汗防水 ランニング ジョギングに最適 スポーツ bluetooth ヘッドホン クリアなハンズフリー通話可能 iphone 7, iphone 6C , iPhone 6c plus , iPhone 6s , iPhone 6s plus , iphone 6 plus , iphone 6 , iphone 5s , iphone 5 , iphone 5c , iphone 4 等々 softbank / docomo / au スマートフォン & タブレットPC に対応 (bluetooth ヘッドホン, ブラック)


【参考情報】
iOSアプリ開発未経験の人向け
iOSアプリ開発をはじめたとき最初に買った書籍
【アプリ作成未経験の人向け】
Storyboardを使って画面を作成していく。
手順にしたがって操作していくと、ボタンの作成やWebViewの作成などができる。
アプリって、こんな感じで作るんだというのを体験できる。

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】

・わかりやすくていい、と聞いた本
立ち読みした感じだと【アプリ作成未経験の人向け】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

②を終えたくらいの知識の方向け
・アプリ開発独学中に2冊めに購入した書籍
プログラミング知識はなくても、若干理解するのに時間がかかる程度で、
読み進められるわかりやすさがある。

iPhoneアプリ開発塾

iPhoneアプリ開発塾

③中級者、上級者向け

詳解 Swift

詳解 Swift