質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.39%
Xcode 7

Xcode 7は、ソフトウェア開発のためのアップルの統合開発環境であるXcodeのバージョン。UIを作成するために用いるグラフィカルツールです。iOS9/OS X El Capitan/watchOS2に対応。Swift 2コンパイラーが搭載されています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

1回答

440閲覧

Xcodeの引数エラーについて

asukamoca

総合スコア0

Xcode 7

Xcode 7は、ソフトウェア開発のためのアップルの統合開発環境であるXcodeのバージョン。UIを作成するために用いるグラフィカルツールです。iOS9/OS X El Capitan/watchOS2に対応。Swift 2コンパイラーが搭載されています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

0グッド

0クリップ

投稿2023/03/20 02:40

編集2023/03/20 04:05

実現したいこと

Swift初心者です。躓いてしまいました。お助け願います。
エラーが出てしまいます。マップアプリ作成のマップの種類をMapViewに渡したいです。ContentViewにMapViewのmapTypeを呼び出したいのですが、エラーはどう解決できるのでしょうか?
初歩的な質問で申し訳ございません。

前提

.初学者で、本を読みながらマップアプリ作成を行っています。

●調査、試したこと

.大文字小文字等スペルの間違いがないか確認しました。
.エラーコードを翻訳し意味を調べました。
.いくつかネットに書いてあったものを実践してみました。
.全体のコードも見直しました。

以下エラーが発生しました。イメージ説明
該当箇所はこちらと思われます。Map View
イメージ説明
ContentView
イメージ説明

エラーが出ているMapView

import SwiftUI import MapKit enum MapType { case standard case satellite case hybrid } struct MapView: UIViewRepresentable { let searchKey: String let mapType: MapType func makeUIView(context: Context) -> MKMapView { MKMapView() } func updateUIView(_ uiView: MKMapView, context: Context) { print("検索キーワード:\(searchKey)") let geocoder = CLGeocoder() geocoder.geocodeAddressString(searchKey, completionHandler: { (placemarks, error) in if let placemarks, let firstPlacemark = placemarks.first, let location = firstPlacemark.location{ let targetCoordinate = location.coordinate print("緯度経度:\(targetCoordinate)") let pin = MKPointAnnotation() pin.coordinate = targetCoordinate pin.title = searchKey uiView.addAnnotation(pin) uiView.region = MKCoordinateRegion( center: targetCoordinate, latitudinalMeters: 500.0, longitudinalMeters: 500.0) }//if })//geocoder }//update struct MapView_Previews: PreviewProvider { static var previews: some View { MapView(searchKey: "羽田空港") } } }

ContentView

import SwiftUI struct ContentView: View { @State var inputText: String = "" @State var displaySearchkey: String = "" @State var displayMapType: MapType = .standard var body: some View { VStack{ TextField("キーワード", text: $inputText,prompt: Text("キーワードを入力してください")) .onSubmit { displaySearchkey = inputText } .padding() ZStack(alignment: .bottomTrailing) { MapView(searchKey: displaySearchkey, mapType: displayMapType) Button { if displayMapType == .standard{ displayMapType = .satellite } else if displayMapType == .satellite { displayMapType = .hybrid } else { displayMapType = .standard } } label: { Image(systemName: "map") .resizable() .frame(width: 35.0, height: 35.0) }//Botton .padding(.trailing, 20.0) .padding(.bottom, 30.0) }//zstack }//vstack }//body struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } } }

当サイトで似た質問を発見しそちらも試したのですがエラーのままでした。

解決の手助けをお願いできませんでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2023/03/20 04:58

mapType 引数を追加すれば良いかと。というか、preview 書く場所間違ってる気が…。
asukamoca

2023/03/20 08:03

コメントありがとうございます!
guest

回答1

0

PreView用にMapTypeのデフォルト値を入れてあげれば解決するかと思われます👍

SwiftUI

1struct MapView_Previews: PreviewProvider { 2 @State static var mapType: MapType = .standard 3 static var previews: some View { 4 MapView(searchKey: "羽田空港", mapType: mapType) 5 } 6 }

投稿2023/04/15 11:40

Masayafreeman

総合スコア23

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.39%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問