SwiftUI沼でゆっくり浸る 郵便番号表示アプリから地図マップへ

こんにちは、川上です。
Myの 郵便番号表示アプリで、郵便番号やその住所名のList表示までが、概ね、目的の形ができてました。
郵便番号表示アプリで、郵便番号やその住所名のList表示までが、概ね、目的の形ができてました。
 が、これまででも良かったけど、「だから、何?」と、なんか途中トンボのようで、何処へ飛ばすかなぁ。。。でした。
 んで、取得した郵便番号やその住所名データを飛ばして、対応地図位置をSpotできたら、締まりがいいなぁ、、とのことで、標準内臓アプリの「マップ」アプリに”郵便番号”で連携しました。
 で、「マップ」アプリだけなら、あれなんで、「Google Map」」アプリも連携して、動作してみました。
 「マップ」アプリと「Googe Map」アプリの”郵便番号”で連携動作の差異がありました。
 ・「マップ」アプリ
 → 郵便番号の標準住所位置?のSpot
 ・「Googe Map」アプリ
 →   郵便番号の標準住所位置?のSpotと標準住所エリアの区域の表示
 でした。
また、”郵便番号”のDrag&Dropを「マップ」アプリや「メモ」アプリには飛ばせたけど、「Google Map」」アプリには、飛ばせんでした。(当然といえば当然かもね。。)
 尚、「Google Map」アプリを使うのは、info.plistに使用切符が必要でした。
 
前掲のText分の続き・・
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | Text(hitarry[hitidx].addr_full)     .frame(maxWidth:.infinity,  alignment:.leading)     // === List -> Map     .onTapGesture {         let urlString:String! = selection == 0         // == Get Set Apple Map のURL         ?  vm.getMapUrl(hitarry[hitidx].poststr)         // == Get Set Apple Map ,Google MapのURL         : vm.getMapUrl_GooglOrAppleMap(hitarry[hitidx].poststr)         // == Mapアプリの起動 ===         if let url = URL(string: urlString) {             UIApplication.shared.open(url)         }     } // == onTapGesture     // === SpliterView -> drag -> map     .onDrag {         //dragTextを元にNSProviderに連携         provider.registerDataRepresentation(forTypeIdentifier: UTType.utf8PlainText.identifier as String, visibility: .all) { (completion) -> Progress? in           completion(hitarry[hitidx].poststr.data(using: .utf8)                        , nil)             return nil         }         return provider     } // == onDrag | 
VM内では、
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |  // == Get Set Apple Map のURL     func getMapUrl(_ postNumStr:String) ->String! {         let urlString: String!         urlString = "http://maps.apple.com/?q="         + "\(String(describing: postNumStr))"         return urlString     }      // == Get Set Apple Map ,Google MapのURL     func getMapUrl_GooglOrAppleMap(_ postNumStr:String) ->String! {         let urlString: String!         if UIApplication             .shared.canOpenURL(URL(string:"comgooglemaps://")!) {             urlString = "comgooglemaps://?q="             + "\(String(describing: postNumStr))"         }         else {             urlString = "http://maps.apple.com/?q="             + "\(String(describing: postNumStr))"         }         return urlString     }  | 
ちびりちびりで書いてた郵便番号表示アプリのMy備忘ログは、これにて一応でEOFです。
 ではでは。

